/* Hubly Operate — screenshot-match CRM shell
   Dark sidebar · light canvas · brand orange #D9632D · navy #141B2B */

#p-app.jos-pixel,
body.jos-pixel #p-app{
  --jos-brand:#D9632D;
  --jos-brand-dark:#B84E1F;
  --jos-brand-soft:#FDF0E8;
  --jos-navy:#141B2B;
  --jos-ink:#141B2B;
  --jos-ink-2:#4A5160;
  --jos-ink-3:#8A909C;
  --jos-surface:#FFFFFF;
  --jos-surface-2:#F4F5F7;
  --jos-surface-3:#EEF0F3;
  --jos-border:#E6E8EC;
  --jos-border-2:#D5D8DE;
  --jos-sidebar:#0F141F;
  --jos-sidebar-2:#151C2A;
  --nav:80px;
  --jos-card-radius:16px;
  --jos-card-border:#ECECEC;
  --jos-card-shadow:0 8px 30px rgba(0,0,0,.04);
  --jos-gap:24px;
  font-family:'DM Sans','Plus Jakarta Sans',system-ui,sans-serif;
}

#p-app.jos-pixel .jos-legacy-bar,
#p-app.jos-pixel .jos-nav-hidden,
#p-app.jos-pixel .ni[hidden],
body.jos-pixel #p-app .jos-legacy-bar,
body.jos-pixel #p-app .jos-nav-hidden,
body.jos-pixel #p-app .ni[hidden]{display:none!important}

#p-app.jos-pixel #v-dashboard.jos-pixel-owned > :not(#jos-dash-root),
#p-app.jos-pixel #v-jobs.jos-pixel-owned > :not(#jos-jobs-root),
#p-app.jos-pixel #v-photo-projects.jos-pixel-owned > :not(#jos-photo-projects-root),
#p-app.jos-pixel #v-chats.jos-pixel-owned > :not(#jos-inbox-root),
#p-app.jos-pixel #v-money.jos-pixel-owned > :not(#jos-revenue-root),
#p-app.jos-pixel #v-leads.jos-pixel-owned > :not(#jos-leads-root),
#p-app.jos-pixel #v-customers.jos-pixel-owned > :not(#jos-customers-root),
#p-app.jos-pixel #v-pipeline.jos-pixel-owned > :not(#jos-pipeline-root),
#p-app.jos-pixel #v-editor.jos-pixel-owned > :not(#jos-storefront-root),
#p-app.jos-pixel #v-marketing.jos-pixel-owned > :not(#jos-marketing-root),
#p-app.jos-pixel #v-store.jos-pixel-owned > :not(#jos-store-root),
#p-app.jos-pixel #v-reports.jos-pixel-owned > :not(#jos-reports-root),
#p-app.jos-pixel #v-ask.jos-pixel-owned > :not(#jos-ask-root),
#p-app.jos-pixel #v-settings.jos-pixel-owned > :not(#jos-settings-root){
  display:none!important;
}
#p-app.jos-pixel #v-reviews.jos-pixel-owned > :not(#jos-reviews-root){
  display:none!important;
}
#p-app.jos-pixel #v-memberships.jos-pixel-owned > :not(#jos-memberships-root){
  display:none!important;
}
#p-app.jos-pixel #v-money.jos-pixel-owned > :not(#jos-revenue-root){
  display:none!important;
}

#p-app.jos-pixel #v-editor.jos-pixel-owned{
  height:auto!important;
  overflow:visible!important;
  min-height:calc(100vh - 64px);
}

/* Dark sidebar — same collapsed/expanded chrome on every Operate tab */
#p-app.jos-pixel .app-nav{
  width:var(--nav)!important;
  background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%);
  border-right:1px solid rgba(255,255,255,.06);
  color:rgba(255,255,255,.78);
  box-shadow:none;
  display:flex;flex-direction:column;
  align-items:stretch;
  overflow:hidden;
}
#p-app.jos-pixel .nav-brand-row{
  padding:18px 18px 10px;display:flex;align-items:center;gap:10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
#p-app.jos-pixel .nav-hubly-mark{height:20px;width:auto;display:block}
#p-app.jos-pixel .nav-scroll{
  flex:1;overflow:auto;padding:10px 0 8px;
  scrollbar-width:thin;
}
#p-app.jos-pixel .nav-sec{display:none}
#p-app.jos-pixel .ni{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start;
  margin:2px 12px;padding:0 16px;height:44px;border-radius:12px;
  border:0!important;border-left:0!important;outline:none;
  color:rgba(255,255,255,.72);font-size:13px;font-weight:600;gap:12px;
  width:calc(100% - 24px);max-width:none;box-sizing:border-box;
  white-space:nowrap;overflow:hidden;text-align:left;
}
#p-app.jos-pixel .ni svg{width:20px;height:20px;opacity:.8;stroke:currentColor;flex-shrink:0}
#p-app.jos-pixel .ni .ni-emoji{display:none}
#p-app.jos-pixel .ni .ni-lbl{
  display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-app.jos-pixel .ni:hover{color:#fff;background:rgba(217,99,45,.22)}
#p-app.jos-pixel .ni.active,
#p-app.jos-pixel .ni.active:hover{
  color:#fff!important;
  background:var(--jos-brand)!important;
  box-shadow:0 6px 18px rgba(217,99,45,.35)!important;
  border:0!important;outline:none!important;
}
#p-app.jos-pixel .ni.active svg{opacity:1;color:#fff}
/* Grow section — secondary tools, collapsed by default */
#p-app.jos-pixel .nav-grow{width:100%;margin:8px 0 4px;display:flex;flex-direction:column;align-items:stretch;gap:2px}
#p-app.jos-pixel .nav-grow-toggle{
  appearance:none;border:0;background:transparent;color:rgba(255,255,255,.55);
  font:inherit;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;cursor:pointer;width:100%;
}
#p-app.jos-pixel .nav-grow-toggle:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.06)}
#p-app.jos-pixel .nav-grow-ico{font-size:10px;transition:transform .15s ease;display:inline-block}
#p-app.jos-pixel .nav-grow:not(.open) .nav-grow-items{display:none}
#p-app.jos-pixel .nav-grow.open .nav-grow-ico{transform:rotate(0deg)}
#p-app.jos-pixel .nav-grow:not(.open) .nav-grow-ico{transform:rotate(-90deg)}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-grow{align-items:center;width:56px}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-grow-toggle{justify-content:center;padding:8px 0;width:56px}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-grow-toggle .ni-lbl{display:none}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-grow.open .nav-grow-items{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
/* Need a hand removed — Ask Hubly / chat bubble is support */
#p-app.jos-pixel.jos-nav-expanded{--nav:260px!important}
#p-app.jos-pixel .nav-rail-toggle{
  width:100%;appearance:none;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.85);
  border-radius:12px;padding:10px;cursor:pointer;font:inherit;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-bottom:4px;
}
#p-app.jos-pixel .nav-rail-toggle:hover{background:rgba(217,99,45,.22);color:#fff;border-color:rgba(217,99,45,.4)}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-rail-toggle::after{
  content:none;
}
#p-app.jos-pixel.jos-nav-expanded .nav-rail-toggle{justify-content:flex-start;padding:10px 12px}
#p-app.jos-pixel.jos-nav-expanded .nav-rail-toggle::after{
  content:"Collapse menu";font-size:12px;font-weight:700;letter-spacing:.02em;
}
#p-app.jos-pixel:not(.jos-nav-expanded) .app-nav{align-items:center}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-scroll{
  width:100%;padding:12px 0 8px;display:flex;flex-direction:column;align-items:center;gap:4px;
}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-brand-row{
  width:80px;min-height:64px;padding:12px 8px;justify-content:center;
}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-hubly-mark{height:18px;width:auto}
#p-app.jos-pixel:not(.jos-nav-expanded) .ni{
  width:56px!important;height:48px;margin:0;padding:0;border-radius:12px;
  justify-content:center!important;position:relative;gap:0;
}
#p-app.jos-pixel:not(.jos-nav-expanded) .ni .ni-lbl,
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-profile-meta,
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-profile-chev,
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-signout .ni-lbl{display:none!important}
#p-app.jos-pixel:not(.jos-nav-expanded) .ni svg{width:22px;height:22px;margin:0;opacity:.9}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-count-badge{
  position:absolute;top:4px;right:4px;margin:0;min-width:16px;height:16px;padding:0 4px;font-size:9px;
}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-bot{width:80px;padding:8px;box-sizing:border-box}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-profile{justify-content:center;padding:8px}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-signout{
  width:56px;height:40px;margin:4px auto 0;justify-content:center!important;padding:0;
}
#p-app.jos-pixel:not(.jos-nav-expanded) .nav-jobs-new{display:none!important}
#p-app.jos-pixel .nav-view-site{display:none!important}
#p-app.jos-pixel .app-main{overflow-x:hidden;min-width:0;margin-left:var(--nav)}

/* Expanded: icon LEFT of label — never stacked — same on Home/Inbox/every tab */
#p-app.jos-pixel.jos-nav-expanded .ni .ni-lbl,
#p-app.jos-pixel.jos-nav-expanded .nav-profile-meta,
#p-app.jos-pixel.jos-nav-expanded .nav-profile-chev,
#p-app.jos-pixel.jos-nav-expanded .nav-signout .ni-lbl{display:inline-block!important}
#p-app.jos-pixel.jos-nav-expanded .nav-profile-meta{display:block!important}
#p-app.jos-pixel.jos-nav-expanded .ni{
  width:calc(100% - 24px)!important;height:44px;margin:2px 12px;padding:0 14px;
  justify-content:flex-start!important;gap:12px;
  flex-direction:row!important;flex-wrap:nowrap!important;
}
#p-app.jos-pixel.jos-nav-expanded .nav-bot{width:auto;padding:10px 10px 12px}
#p-app.jos-pixel.jos-nav-expanded .nav-brand-row{width:auto;height:auto;min-height:0;padding:18px 18px 10px;justify-content:flex-start}
#p-app.jos-pixel.jos-nav-expanded .nav-scroll{align-items:stretch;padding:10px 0 8px;display:block}
#p-app.jos-pixel.jos-nav-expanded .nav-profile{justify-content:flex-start;padding:8px 10px}
#p-app.jos-pixel.jos-nav-expanded .nav-signout{width:auto;height:auto;margin:0;padding:0 16px;justify-content:flex-start!important;gap:12px}
#p-app.jos-pixel.jos-nav-expanded .nav-count-badge{position:static;margin-left:auto}
#p-app.jos-pixel.jos-inbox-mode #jos-inbox-root,
#p-app.jos-pixel.jos-leads-mode #jos-leads-root{overflow-x:hidden!important}
#p-app.jos-pixel.jos-leads-mode .jos-ld-ws-name strong{font-size:18px}
#p-app.jos-pixel.jos-inbox-mode .jos-ibx-title h1{font-size:20px}
#p-app.jos-pixel .nav-count-badge{
  margin-left:auto;min-width:20px;height:20px;padding:0 6px;
  border-radius:999px;background:var(--jos-brand);color:#fff;
  font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;
}
#p-app.jos-pixel .ni.active .nav-count-badge{background:rgba(255,255,255,.25)}
#p-app.jos-pixel .nav-bot{
  border-top:1px solid rgba(255,255,255,.08);padding:10px 10px 12px;
  display:grid;gap:6px;
}
#p-app.jos-pixel .nav-profile{
  width:100%;display:flex;align-items:center;gap:10px;text-align:left;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:8px 10px;cursor:pointer;color:#fff;font:inherit;
}
#p-app.jos-pixel .nav-profile:hover{background:rgba(255,255,255,.07)}
#p-app.jos-pixel .nav-badge{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(145deg,#2A3348,#141B2B);color:#fff;font-size:11px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
#p-app.jos-pixel .nav-biz{color:#fff;font-size:13px;font-weight:750;line-height:1.2}
#p-app.jos-pixel .nav-plan{color:rgba(255,255,255,.55);font-size:11px;margin-top:1px}
#p-app.jos-pixel .nav-profile-meta{min-width:0;flex:1}
#p-app.jos-pixel .nav-profile-chev{width:16px;height:16px;opacity:.5;flex-shrink:0}
#p-app.jos-pixel .nav-signout{margin:0}
#p-app.jos-pixel .nav-drawer-close{color:rgba(255,255,255,.7)}
#p-app.jos-pixel .nav-drawer-close:hover{background:rgba(255,255,255,.08);color:#fff}

/* App bar */
#p-app.jos-pixel .app-main{margin-left:var(--nav);background:var(--jos-surface-2)}
#p-app.jos-pixel .app-bar{
  height:72px;min-height:72px;padding:0 24px;gap:16px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--jos-border);
  backdrop-filter:blur(12px);
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) minmax(220px,420px) minmax(180px,1fr);
  align-items:center;
}
#p-app.jos-pixel .bar-title-block{min-width:0}
#p-app.jos-pixel .bar-title-block[hidden]{display:none!important}
#p-app.jos-pixel .bar-title{
  font-size:18px;font-weight:800;color:var(--jos-navy);letter-spacing:-.02em;line-height:1.15;
}
#p-app.jos-pixel .bar-title::before{content:none}
#p-app.jos-pixel .bar-sub{font-size:12px;color:var(--jos-ink-2);margin-top:2px;font-weight:550}
#p-app.jos-pixel .jos-bar-search-wrap{display:flex;justify-content:center;width:100%}
#p-app.jos-pixel .jos-bar-search{
  display:flex;align-items:center;gap:8px;width:100%;max-width:420px;
  background:var(--jos-surface-2);border:1px solid var(--jos-border);
  border-radius:999px;padding:0 14px;height:40px;
}
#p-app.jos-pixel .jos-bar-search:focus-within{
  background:#fff;border-color:color-mix(in srgb,var(--jos-brand) 45%,var(--jos-border));
  box-shadow:0 0 0 3px rgba(217,99,45,.14);
}
#p-app.jos-pixel .jos-bar-search svg{width:16px;height:16px;color:var(--jos-ink-3);flex-shrink:0}
#p-app.jos-pixel .jos-bar-search input{
  border:0;background:transparent;outline:none;width:100%;
  font:inherit;font-size:13px;color:var(--jos-navy);
}
#p-app.jos-pixel .bar-r{justify-content:flex-end;gap:8px}
#p-app.jos-pixel .jos-bar-new{
  border-radius:10px;padding:9px 14px;font-weight:750;
  box-shadow:0 2px 8px rgba(217,99,45,.25);
}
/* Ask Hubly lives in left nav + bottom-right bubble — not the top bar */
#p-app.jos-pixel .jos-bar-ask{display:none!important}
#jos-ask-fab{
  position:fixed;right:20px;bottom:20px;z-index:12500;
  min-height:52px;padding:8px 16px 8px 8px;border-radius:999px;border:none;cursor:pointer;
  background:#141B2B;color:#fff;font:inherit;font-size:13px;font-weight:750;
  box-shadow:0 14px 32px rgba(15,23,42,.35);
  display:inline-flex;align-items:center;gap:10px;
  transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;
}
#jos-ask-fab .jos-ask-fab-ico{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--jos-brand,#D9632D);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:.04em;
}
#jos-ask-fab:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(15,23,42,.42)}
#jos-ask-fab.hidden,
#p-app.jos-pixel.jos-ask-mode #jos-ask-fab,
body.ed-editor-open #jos-ask-fab,
#p-app.jos-pixel.jos-storefront-mode #jos-ask-fab{display:none!important}
/* Sit above setup-help coach when that bubble is visible */
body:has(.hubly-coach:not(.hidden)) #jos-ask-fab{bottom:88px}
/* Leads-scoped only: the table is the page's focus, so the assistant
   bubble should read as an assistant, not compete with it as the
   brightest thing on screen. */
#p-app.jos-pixel.jos-leads-mode #jos-ask-fab{
  min-height:38px;padding:5px 12px 5px 5px;font-size:12px;box-shadow:0 8px 20px rgba(15,23,42,.22);
}
#p-app.jos-pixel.jos-leads-mode #jos-ask-fab .jos-ask-fab-ico{width:26px;height:26px;font-size:9px}
#p-app.jos-pixel.jos-leads-mode #jos-ask-fab:hover{box-shadow:0 12px 24px rgba(15,23,42,.28)}
@media(max-width:800px){
  #jos-ask-fab{right:14px;bottom:calc(18px + env(safe-area-inset-bottom));padding:7px 12px 7px 7px;font-size:12px}
  body:has(.hubly-coach:not(.hidden)) #jos-ask-fab{bottom:calc(86px + env(safe-area-inset-bottom))}
  #jos-ask-fab .jos-ask-fab-ico{width:32px;height:32px;font-size:10px}
  #jos-ask-fab .jos-ask-fab-lbl{display:none}
}
#p-app.jos-pixel .jos-bar-bell{
  appearance:none;border:1px solid var(--jos-border);background:#fff;
  width:38px;height:38px;border-radius:10px;display:inline-flex;
  align-items:center;justify-content:center;cursor:pointer;color:var(--jos-ink-2);position:relative;
}
#p-app.jos-pixel .jos-bar-bell::after{
  content:none;display:none;
  position:absolute;top:-4px;right:-4px;
  width:16px;height:16px;border-radius:50%;background:#E11D48;color:#fff;
  font-size:9px;font-weight:800;align-items:center;justify-content:center;
}
#p-app.jos-pixel .jos-bar-bell[data-count]::after{
  content:attr(data-count);display:flex;
}
#p-app.jos-pixel .jos-bar-bell[data-count="0"]::after,
#p-app.jos-pixel .jos-bar-bell:not([data-count])::after{display:none;content:none}
#p-app.jos-pixel .jos-bar-bell svg{width:16px;height:16px}
#p-app.jos-pixel .jos-bar-biz{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 10px 4px 4px;border-radius:999px;
  border:1px solid var(--jos-border);background:#fff;max-width:200px;
}
#p-app.jos-pixel .jos-bar-biz .ava{
  width:28px;height:28px;border-radius:50%;
  background:var(--jos-navy);color:#fff;font-size:10px;font-weight:800;
}
#p-app.jos-pixel .jos-bar-biz-name{
  font-size:12px;font-weight:700;color:var(--jos-navy);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

#p-app.jos-pixel .body{
  padding:0!important;background:var(--jos-surface-2)!important;min-height:calc(100vh - 64px);
}
#p-app.jos-pixel #jos-dash-root,
#p-app.jos-pixel #jos-leads-root,
#p-app.jos-pixel #jos-customers-root,
#p-app.jos-pixel #jos-inbox-root,
#p-app.jos-pixel #jos-jobs-root,
#p-app.jos-pixel #jos-calendar-root,
#p-app.jos-pixel #jos-money-root,
#p-app.jos-pixel #jos-revenue-root,
#p-app.jos-pixel #jos-pipeline-root,
#p-app.jos-pixel #jos-marketing-root,
#p-app.jos-pixel #jos-reviews-root,
#p-app.jos-pixel #jos-memberships-root,
#p-app.jos-pixel #jos-reports-root,
#p-app.jos-pixel #jos-ask-root,
#p-app.jos-pixel #jos-settings-root,
#p-app.jos-pixel #jos-storefront-root{
  min-height:calc(100vh - 64px);
}
#p-app.jos-pixel #jos-storefront-root:not(.hidden){display:block}

/* Shared page chrome */
.jos-page{padding:18px 22px 36px;max-width:1400px;margin:0 auto;color:var(--jos-ink)}
.jos-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.jos-page-head h1{margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-page-head p{margin:4px 0 0;font-size:13px;color:var(--jos-ink-2);max-width:56ch}
.jos-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jos-tabs{display:flex;gap:2px;border-bottom:1px solid var(--jos-border);margin:0 0 16px;overflow:auto}
.jos-tab{
  appearance:none;border:0;background:transparent;padding:10px 14px;font:inherit;
  font-size:13px;font-weight:700;color:var(--jos-ink-3);cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.jos-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}
.jos-btn,.jos-btn-brand,.jos-btn-out{
  appearance:none;border:1px solid var(--jos-border);background:#fff;color:var(--jos-navy);
  border-radius:10px;padding:8px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;
}
.jos-btn-brand{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-btn-danger{color:#B91C1C;border-color:#FECACA;background:#FEF2F2}
.jos-btn-danger:hover{background:#FEE2E2;border-color:#FCA5A5}
.jos-btn:hover,.jos-btn-out:hover{border-color:var(--jos-border-2);background:var(--jos-surface-2)}
.jos-btn-brand:hover{background:var(--jos-brand-dark)}
.jos-card{
  background:#fff;border:1px solid var(--jos-border);border-radius:14px;
  padding:14px 16px;box-shadow:0 1px 2px rgba(20,27,43,.04);
}
.jos-muted{color:var(--jos-ink-3);font-size:12px}
.jos-kicker{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--jos-ink-3)}
.jos-stack{display:grid;gap:12px}
.jos-mt{margin-top:10px}
.jos-grid-2{display:grid;grid-template-columns:1.4fr .9fr;gap:14px}
.jos-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jos-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jos-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:1100px){
  .jos-grid-2,.jos-grid-3,.jos-grid-4,.jos-grid-5{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .jos-grid-2,.jos-grid-3,.jos-grid-4,.jos-grid-5{grid-template-columns:1fr}
  #p-app.jos-pixel .app-bar{grid-template-columns:1fr;height:auto}
}

/* Home */
.jos-home-page{animation:josHomeIn .35s ease both}
@keyframes josHomeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.jos-home-loading{
  padding:48px 20px;text-align:center;color:var(--jos-ink-3);font-size:13px;font-weight:650;
  animation:josLoadingPulse 1.1s ease-in-out infinite;
}
@keyframes josLoadingPulse{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.jos-home-loading{animation:none}}
.jos-error-state{padding:36px 20px}
.jos-weather-alert{
  margin-top:10px;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:700;
  background:#ECFDF3;color:#15803D;border:1px solid #BBF7D0;
}
.jos-weather-alert.warn{background:#FFF7ED;color:#C2410C;border-color:#FED7AA}
.jos-kpi{
  background:#fff;border:1px solid var(--jos-border);border-radius:14px;padding:14px 16px;
  cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;position:relative;overflow:visible;
}
.jos-kpi:hover,.jos-kpi:focus-visible{
  border-color:color-mix(in srgb,var(--jos-brand) 40%,var(--jos-border));
  transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,27,43,.06);outline:none;z-index:3;
}
.jos-kpi .lbl{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--jos-ink-3)}
.jos-kpi .v{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy);margin-top:4px}
.jos-kpi .s{font-size:12px;color:#15803D;margin-top:4px;font-weight:650}
.jos-kpi .spark{height:28px;margin-top:10px;border-radius:8px;background:linear-gradient(90deg,rgba(217,99,45,.15),rgba(217,99,45,.45));opacity:.85}
.jos-spark{display:block;margin-top:10px;width:100%;max-width:140px;height:28px}
.jos-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.jos-kpi-ico{
  width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--jos-brand-soft);color:var(--jos-brand);font-size:12px;font-weight:800;
}
.jos-kpi-hover{
  display:none;position:absolute;left:10px;right:10px;top:calc(100% - 6px);z-index:5;
  background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:12px;
  box-shadow:0 16px 40px rgba(20,27,43,.14);text-align:left;
}
.jos-kpi-rich:hover .jos-kpi-hover,.jos-kpi-rich:focus-within .jos-kpi-hover{display:block;animation:josHomeIn .2s ease both}
.jos-hover-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:12px;border-bottom:1px solid var(--jos-border)}
.jos-hover-row:last-child{border-bottom:0}
.jos-hover-row span{color:var(--jos-ink-2)}
.jos-hover-row strong{color:var(--jos-navy);font-weight:750}
.jos-home-kpis{margin-bottom:4px}
.jos-home-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:14px;margin-top:14px}
@media(max-width:980px){.jos-home-main{grid-template-columns:1fr}}
.jos-brief{background:linear-gradient(145deg,#1A2233,#141B2B 55%,#1C1520);color:#fff;border-radius:16px;padding:18px}
.jos-brief .sk{color:#FDBA74;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.jos-brief h2{margin:8px 0 8px;font-size:18px;font-weight:800}
.jos-brief p{margin:0 0 8px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.82)}
.jos-brief-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.jos-brief-actions .jos-btn-brand{background:var(--jos-brand)}
.jos-brief-actions .jos-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.jos-sched-row,.jos-act-row,.jos-qa-row{
  display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--jos-border);
}
.jos-sched-row:last-child,.jos-act-row:last-child,.jos-qa-row:last-child{border-bottom:0}
.jos-sched-row .time{width:54px;font-size:12px;font-weight:800;color:var(--jos-brand);flex-shrink:0}
.jos-sched-rich{flex-wrap:wrap;align-items:flex-start}
.jos-sched-body{flex:1;min-width:140px}
.jos-sched-acts{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:6px;padding-left:64px}
@media(min-width:900px){
  .jos-sched-acts{width:auto;margin-top:0;padding-left:0;margin-left:auto}
}
.jos-sched-acts a.jos-btn{text-decoration:none;display:inline-flex;align-items:center}
.jos-act-btn{width:100%;appearance:none;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}
.jos-act-btn:hover{background:var(--jos-brand-soft);border-radius:10px;margin:0 -6px;padding-left:6px;padding-right:6px}
.jos-act-ico{
  width:32px;height:32px;border-radius:10px;background:var(--jos-surface-3);color:var(--jos-navy);
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;
}
.jos-act-t{font-size:13px;font-weight:750;color:var(--jos-navy)}
.jos-act-s{font-size:12px;color:var(--jos-ink-3);margin-top:2px}
.jos-qa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
@media(max-width:900px){.jos-qa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.jos-qa-tile{
  appearance:none;border:1px solid var(--jos-border);background:var(--jos-surface-2);
  border-radius:12px;padding:12px 10px;font:inherit;font-size:12px;font-weight:750;color:var(--jos-navy);
  cursor:pointer;display:flex;align-items:center;gap:8px;text-align:left;
  transition:border-color .15s,background .15s,transform .15s;
}
.jos-qa-tile span{color:var(--jos-brand);font-weight:800;font-size:16px;line-height:1}
.jos-qa-tile:hover{border-color:rgba(217,99,45,.4);background:var(--jos-brand-soft);transform:translateY(-1px)}
.jos-qa-row{cursor:pointer}
.jos-qa-row:hover{color:var(--jos-brand)}
.jos-weather{display:flex;align-items:center;gap:14px;margin-top:8px}
.jos-weather-temp{font-size:34px;font-weight:800;letter-spacing:-.04em;color:var(--jos-navy);line-height:1}
.jos-route-map{
  position:relative;height:120px;margin-top:10px;border-radius:12px;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(20,27,43,.04),rgba(20,27,43,.08)),
    repeating-linear-gradient(90deg,transparent,transparent 18px,rgba(20,27,43,.04) 18px,rgba(20,27,43,.04) 19px),
    repeating-linear-gradient(0deg,transparent,transparent 18px,rgba(20,27,43,.04) 18px,rgba(20,27,43,.04) 19px),
    #E8ECF2;
}
.jos-route-line{
  position:absolute;inset:28% 14%;border:2px dashed rgba(217,99,45,.55);border-radius:40% 30% 50% 35%;
  border-top-style:solid;border-left-style:solid;
}
.jos-route-map i{
  position:absolute;width:22px;height:22px;border-radius:50%;background:var(--jos-brand);color:#fff;
  font-size:11px;font-weight:800;font-style:normal;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(217,99,45,.35);
}
.jos-route-map i:nth-child(2){left:16%;top:22%}
.jos-route-map i:nth-child(3){left:48%;top:52%}
.jos-route-map i:nth-child(4){right:18%;top:28%}
.jos-notif-row{
  width:100%;appearance:none;border:0;background:transparent;display:flex;justify-content:space-between;gap:10px;
  text-align:left;padding:8px 0;border-bottom:1px solid var(--jos-border);cursor:pointer;font:inherit;color:inherit;
}
.jos-notif-row:last-child{border-bottom:0}
.jos-notif-row:hover{color:var(--jos-brand)}
.jos-notif-panel{scroll-margin-top:80px}
.jos-home-root.jos-notifs-open .jos-notif-panel{
  box-shadow:0 0 0 2px rgba(217,99,45,.35);border-color:rgba(217,99,45,.4);
}
.jos-widget-hidden{display:none!important}
.jos-customize{
  display:none;margin:0 0 14px;padding:12px 14px;border:1px dashed rgba(217,99,45,.35);
  border-radius:12px;background:#fff;
}
.jos-home-root.jos-customize-on .jos-customize{display:block}
.jos-customize-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.jos-customize-grid label{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--jos-ink-2);
  padding:6px 10px;border:1px solid var(--jos-border);border-radius:999px;background:var(--jos-surface-2);cursor:pointer;
}
.jos-customize-grid input{accent-color:var(--jos-brand)}
.jos-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}
.jos-pill.ok{background:#ECFDF3;color:#15803D}
.jos-pill.warn{background:#FFF7ED;color:#C2410C}
.jos-pill.info{background:#EFF6FF;color:#1D4ED8}
.jos-pill.hot{background:#FEF2F2;color:#B91C1C}
.jos-pill.purple{background:#F5F3FF;color:#6D28D9}
.jos-pill.gray{background:#F3F4F6;color:#374151}
.jos-pill.mute{background:#F3F4F6;color:#6B7280}
.jos-pill.brand{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}
.jos-pill.booked{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}

/* Global search + notifications popovers */
.jos-search-pop,.jos-notif-pop{
  position:fixed;z-index:13000;width:min(420px,calc(100vw - 24px));
  background:#fff;border:1px solid var(--jos-border);border-radius:14px;
  box-shadow:0 22px 60px rgba(15,23,42,.2);padding:8px;display:none;max-height:min(70vh,480px);overflow:auto;
}
.jos-search-pop.open,.jos-notif-pop.open{display:block;animation:josHomeIn .18s ease both}
.jos-search-pop .jos-search-sec{padding:8px 10px 4px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--jos-ink-3)}
.jos-search-hit,.jos-notif-pop button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;
  border-radius:10px;font:inherit;cursor:pointer;color:var(--jos-navy);
}
.jos-search-hit:hover,.jos-notif-pop button:hover{background:var(--jos-brand-soft)}
.jos-search-hit strong{display:block;font-size:13px;font-weight:750}
.jos-search-hit span{display:block;font-size:12px;color:var(--jos-ink-3);margin-top:2px}
.jos-search-empty{padding:18px;text-align:center;color:var(--jos-ink-3);font-size:13px}

/* Split panes */
.jos-split{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;gap:12px;min-height:70vh}
.jos-split-2{display:grid;grid-template-columns:340px minmax(0,1fr);gap:12px;min-height:70vh}
@media(max-width:1100px){.jos-split{grid-template-columns:1fr}.jos-split-2{grid-template-columns:1fr}}
.jos-list-card{padding:10px 12px;border-radius:12px;border:1px solid transparent;cursor:pointer}
.jos-list-card:hover,.jos-list-card.on{background:var(--jos-brand-soft);border-color:rgba(217,99,45,.25)}
.jos-list-card .t{font-size:13px;font-weight:750;color:var(--jos-navy)}
.jos-list-card .s{font-size:12px;color:var(--jos-ink-2);margin-top:2px}
.jos-list-card .meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px;color:var(--jos-ink-3)}

/* Kanban */
.jos-kanban{display:flex;gap:10px;overflow:auto;padding-bottom:8px}
.jos-col{min-width:220px;max-width:240px;background:var(--jos-surface-3);border-radius:14px;padding:10px}
.jos-col-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:800}
.jos-col-card{background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:10px;margin-bottom:8px;cursor:pointer}
.jos-col-card:hover{border-color:rgba(217,99,45,.35)}

/* Inbox chat */
.jos-chat-bubble{max-width:80%;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.4;margin:0 0 10px}
.jos-chat-bubble.in{background:var(--jos-surface-3);border-bottom-left-radius:4px}
.jos-chat-bubble.out{background:rgba(217,99,45,.12);border:1px solid rgba(217,99,45,.2);margin-left:auto;border-bottom-right-radius:4px}
.jos-chat-input{display:flex;gap:8px;margin-top:12px}
.jos-chat-input input{flex:1;border:1px solid var(--jos-border);border-radius:12px;padding:10px 12px;font:inherit}

/* Calendar mock */
.jos-cal-grid{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));gap:1px;background:var(--jos-border);border:1px solid var(--jos-border);border-radius:12px;overflow:hidden;min-height:360px}
.jos-cal-cell{background:#fff;min-height:56px;padding:6px;font-size:11px}
.jos-cal-cell.head{background:var(--jos-surface-3);font-weight:800;color:var(--jos-ink-2)}
.jos-cal-event{margin-top:4px;padding:4px 6px;border-radius:6px;background:rgba(217,99,45,.12);color:var(--jos-brand-dark);font-weight:700}

.jos-empty{padding:28px;text-align:center;color:var(--jos-ink-3);font-size:13px}
.jos-ai{background:linear-gradient(180deg,#FFF8F3,#fff);border:1px solid rgba(217,99,45,.22);border-radius:14px;padding:14px}
.jos-ai .sk{color:var(--jos-brand)}
.jos-between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.jos-kpi-v{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-kpi-v.brand{color:var(--jos-brand)}
.jos-kpi-lbl{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--jos-ink-3)}
.jos-kpi-sub{font-size:12px;color:var(--jos-ink-2);margin-top:4px}
.jos-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
@media(max-width:900px){.jos-kpi-row{grid-template-columns:1fr 1fr}}
.jos-card-hover{cursor:pointer;transition:border-color .15s,transform .15s}
.jos-card-hover:hover{border-color:rgba(217,99,45,.35);transform:translateY(-1px)}
.jos-health-ring{
  --jos-pct:78;width:56px;height:56px;border-radius:50%;
  background:conic-gradient(var(--jos-brand) calc(var(--jos-pct) * 1%), var(--jos-surface-3) 0);
  display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;
}
.jos-health-ring::before{content:'';position:absolute;inset:5px;border-radius:50%;background:#fff}
.jos-health-ring span{position:relative;font-size:14px;font-weight:800;color:var(--jos-navy)}
.jos-pipe-amt{font-weight:800;color:var(--jos-navy);font-size:13px}
.jos-who,.who{font-size:13px;font-weight:750;color:var(--jos-navy)}
.jos-svc,.svc{font-size:12px;color:var(--jos-ink-3)}
.jos-amt,.amt{font-size:12px;font-weight:750;color:var(--jos-navy);margin-left:auto}

/* Light popover, anchored to #jos-bar-new via positionQuickPop (same
   getBoundingClientRect + reparent technique as positionJobsComboPop) —
   borrows the Command Center's hierarchy/icons/badges/spacing without
   its dark gradient, which belongs to a dashboard card, not a menu. */
.jos-quick-pop{
  position:fixed;z-index:12000;width:272px;visibility:hidden;
  background:#fff;border:1px solid var(--jos-border);border-radius:16px;
  box-shadow:0 18px 50px rgba(15,23,42,.16);padding:10px;display:none;
}
.jos-quick-pop.open{display:block}
.jos-quick-pop.jos-positioned{visibility:visible;animation:josQuickPopIn .14s ease both}
@keyframes josQuickPopIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.jos-quick-eyebrow{
  padding:4px 8px 8px;font-size:11px;font-weight:800;letter-spacing:.08em;
  color:var(--jos-ink-3);user-select:none;
}
.jos-quick-hero{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;appearance:none;
  border:0;border-radius:12px;cursor:pointer;font:inherit;padding:10px 10px;
  background:linear-gradient(180deg,var(--jos-brand-soft) 0%,#FFF9F5 100%);
}
.jos-quick-hero:hover{background:linear-gradient(180deg,#FDE6D6 0%,var(--jos-brand-soft) 100%)}
.jos-quick-hero-ico{
  flex:none;width:36px;height:36px;border-radius:10px;background:var(--jos-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,99,45,.35);
}
.jos-quick-hero-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.jos-quick-hero-main strong{font-size:14px;font-weight:800;color:var(--jos-navy)}
.jos-quick-hero-main small{font-size:11.5px;font-weight:600;color:var(--jos-ink-2)}
.jos-quick-hero-arrow{flex:none;color:var(--jos-brand-dark);display:flex;align-items:center}
.jos-quick-sep{height:1px;background:var(--jos-border);margin:8px 4px;border:0}
.jos-quick-group{display:flex;flex-direction:column;gap:1px}
.jos-quick-pop button.jos-quick-item{
  width:100%;display:flex;align-items:center;gap:10px;text-align:left;appearance:none;border:0;background:transparent;
  padding:9px 10px;border-radius:10px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-quick-pop button.jos-quick-item:hover{background:var(--jos-surface-2);color:var(--jos-brand-dark)}
.jos-quick-item-ico{
  flex:none;width:26px;height:26px;border-radius:8px;background:var(--jos-surface-2);color:var(--jos-ink-2);
  display:flex;align-items:center;justify-content:center;
}
.jos-quick-pop button.jos-quick-item:hover .jos-quick-item-ico{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}
.jos-quick-group.jos-quick-group-tertiary button.jos-quick-item{font-size:12.5px;color:var(--jos-ink-2)}
.jos-quick-group.jos-quick-group-tertiary .jos-quick-item-ico{width:22px;height:22px}

/* "Who is this for?" job-creation picker — same visual language as
   .jos-leads-modal/.jos-cust-modal, but display:none-toggled via .open
   like .jos-quick-pop since it's a single persistent body-appended node
   instead of something a page's own render function conditionally emits. */
/* New Job drawer — same slide-in-from-the-right mechanics as the existing
   Job Detail drawer (.jos-jobs-drawer/-backdrop) so the two feel like one
   family, while staying a fully separate element/id/state — this is a
   creation surface, not a reskinned version of the editing one. One flat
   scrollable form (Customer/Job Details/Assignment/Notes), not a wizard:
   fixed header, scrollable body, fixed action bar always in view. */
.jos-jp-backdrop{
  display:none;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:12700;
}
.jos-jp-backdrop.open{display:block}
.jos-jp-card{
  position:fixed;top:0;right:0;bottom:0;width:min(480px,96vw);z-index:12750;background:#fff;
  box-shadow:-16px 0 50px rgba(0,0,0,.18);display:flex;flex-direction:column;
  animation:josJpSlideIn .22s ease both;color:#141B2B;
}
@keyframes josJpSlideIn{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.jos-jp-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-shrink:0;
  padding:18px 20px;border-bottom:1px solid var(--jos-border);
}
.jos-jp-head-text h3{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:#141B2B}
.jos-jp-head-text p{margin:2px 0 0;font-size:12.5px;color:var(--jos-ink-3)}
.jos-jp-close{
  appearance:none;width:32px;height:32px;border-radius:10px;border:1px solid #E5E7EB;background:#F9FAFB;flex-shrink:0;
  color:#141B2B;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.jos-jp-close:hover{background:#F3F4F6;border-color:#D1D5DB}
.jos-jp-body{flex:1;overflow:auto;padding:18px 20px}
.jos-jp-section+.jos-jp-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--jos-border)}
.jos-jp-section h4{
  margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--jos-ink-3);
}
.jos-jp-search input{
  width:100%;height:40px;border:1px solid var(--jos-border);border-radius:10px;padding:0 12px;
  font:inherit;font-size:13px;font-weight:600;color:var(--jos-navy);background:#fff;
}
.jos-jp-list{max-height:260px;overflow:auto;margin-top:10px}
.jos-jp-group+.jos-jp-group{margin-top:10px}
.jos-jp-group h5{margin:0 0 4px;padding:0 8px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--jos-ink-3)}
.jos-jp-row{
  width:100%;display:flex;align-items:center;gap:10px;text-align:left;appearance:none;border:0;background:transparent;
  padding:8px;border-radius:10px;cursor:pointer;font:inherit;
}
.jos-jp-row:hover{background:var(--jos-brand-soft)}
.jos-jp-row:disabled{opacity:.5;cursor:default}
.jos-jp-row-avatar{
  flex:none;width:32px;height:32px;border-radius:50%;background:var(--jos-brand-soft);color:var(--jos-brand-dark);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;
}
.jos-jp-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.jos-jp-row-main strong{font-size:13px;font-weight:700;color:var(--jos-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-jp-row-main small{font-size:12px;color:var(--jos-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-jp-row-tag{
  flex:none;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--jos-brand-dark);
  background:var(--jos-brand-soft);border-radius:6px;padding:3px 6px;
}
.jos-jp-empty{padding:14px 8px;text-align:center;font-size:13px;color:var(--jos-ink-3)}
.jos-jp-create-btn{
  width:100%;margin-top:10px;height:40px;border-radius:10px;border:1px dashed var(--jos-border);background:transparent;
  font:inherit;font-size:13px;font-weight:700;color:var(--jos-brand-dark);cursor:pointer;
}
.jos-jp-create-btn:hover{background:var(--jos-brand-soft)}
.jos-jp-create{display:flex;flex-direction:column;gap:10px}
.jos-jp-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#374151;margin-bottom:12px}
.jos-jp-field:last-child{margin-bottom:0}
.jos-jp-field em{font-style:normal;font-weight:600;color:var(--jos-ink-3);text-transform:none;letter-spacing:0}
.jos-jp-field input,.jos-jp-field textarea{
  height:38px;border:1px solid var(--jos-border);border-radius:10px;padding:0 10px;
  font:inherit;font-size:13px;font-weight:600;color:var(--jos-navy);background:#fff;
}
.jos-jp-field textarea{height:auto;min-height:80px;padding:10px;resize:vertical;font-weight:500}
.jos-jp-create-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.jos-jp-create-acts .jos-btn-brand{color:#fff!important}

/* A picked customer/service collapses its search list into one compact,
   scannable summary row with a "Change" link — the fast path for an owner
   who already knows who/what this job is for, no forced re-navigation. */
.jos-jp-picked{
  display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--jos-border);
  border-radius:10px;background:var(--jos-surface-2);
}
.jos-jp-picked-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.jos-jp-picked-main strong{font-size:13px;font-weight:700;color:var(--jos-navy)}
.jos-jp-picked-main small{font-size:12px;color:var(--jos-ink-3)}
.jos-jp-picked-change{
  flex:none;appearance:none;border:0;background:transparent;font:inherit;font-size:12px;font-weight:700;
  color:var(--jos-brand-dark);cursor:pointer;padding:4px 6px;
}
.jos-jp-picked-change:hover{text-decoration:underline}

/* Service list — same row language as .jos-jp-row */
.jos-jp-svc-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto}
.jos-jp-svc-row{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;
  appearance:none;border:1px solid transparent;background:transparent;padding:10px;border-radius:10px;cursor:pointer;font:inherit;
}
.jos-jp-svc-row:hover{background:var(--jos-brand-soft)}
.jos-jp-svc-row.on{background:var(--jos-brand-soft);border-color:var(--jos-brand)}
.jos-jp-svc-main{display:flex;flex-direction:column;gap:1px;min-width:0}
.jos-jp-svc-main strong{font-size:13px;font-weight:700;color:var(--jos-navy)}
.jos-jp-svc-main small{font-size:11.5px;color:var(--jos-ink-3)}
.jos-jp-svc-price{flex:none;font-size:13px;font-weight:800;color:var(--jos-navy)}
.jos-jp-extra{display:flex;flex-direction:column;gap:10px;margin-top:14px}

/* Real availability — compact slot row + technician chips */
.jos-jp-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:150px;overflow:auto;padding:2px}
.jos-jp-slot{
  appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:9px;padding:8px 4px;
  font:inherit;font-size:12px;font-weight:700;color:var(--jos-navy);cursor:pointer;text-align:center;
}
.jos-jp-slot:hover:not(:disabled){border-color:var(--jos-brand);background:var(--jos-brand-soft)}
.jos-jp-slot.on{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-jp-slot.is-busy{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.jos-jp-slot-hint{grid-column:1/-1;font-size:11.5px;color:var(--jos-ink-3);padding:4px 2px}
.jos-jp-tech-row{display:flex;flex-wrap:wrap;gap:6px}
.jos-jp-tech-chip{
  appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:999px;padding:6px 12px;
  font:inherit;font-size:12.5px;font-weight:700;color:var(--jos-navy);cursor:pointer;
}
.jos-jp-tech-chip:hover{border-color:var(--jos-brand)}
.jos-jp-tech-chip.on{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}

/* Fixed bottom action bar — Create Job never scrolls out of reach */
.jos-jp-foot{
  flex-shrink:0;display:flex;justify-content:space-between;gap:8px;padding:14px 20px;
  border-top:1px solid var(--jos-border);background:#fff;
}
.jos-jp-foot-right{display:flex;gap:8px}
.jos-jp-create-job-btn{font-weight:800}

@media(max-width:900px){
  #p-app.jos-pixel .app-main{margin-left:0}
}

/* Inbox */
.jos-inbox-page{animation:josHomeIn .3s ease both}
.jos-inbox-tabs{flex-wrap:wrap}
.jos-tab-count{
  display:inline-flex;min-width:18px;height:18px;padding:0 5px;margin-left:4px;
  border-radius:999px;background:var(--jos-surface-3);color:var(--jos-ink-2);
  font-size:10px;font-weight:800;align-items:center;justify-content:center;
}
.jos-tab.on .jos-tab-count{background:rgba(217,99,45,.15);color:var(--jos-brand-dark)}
.jos-inbox-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;align-items:center}
.jos-inbox-search{
  flex:1;min-width:220px;display:flex;align-items:center;
  background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:0 12px;height:40px;
}
.jos-inbox-search input{border:0;outline:none;width:100%;font:inherit;font-size:13px;background:transparent;color:var(--jos-navy)}
.jos-inbox-filter{
  height:40px;border:1px solid var(--jos-border);border-radius:12px;background:#fff;
  padding:0 12px;font:inherit;font-size:13px;font-weight:650;color:var(--jos-navy);
}
.jos-inbox-split{min-height:62vh}
.jos-inbox-list{max-height:72vh;overflow:auto;padding-right:2px}
.jos-ch-ico{
  width:22px;height:22px;border-radius:7px;background:var(--jos-brand-soft);color:var(--jos-brand-dark);
  display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;
}
.jos-btn-row{display:flex;flex-wrap:wrap;gap:8px}
.jos-inbox-tools{margin-top:12px;padding-top:12px;border-top:1px solid var(--jos-border)}
.jos-chat-stream{max-height:340px;overflow:auto;padding:8px 2px;display:flex;flex-direction:column;gap:2px}
.jos-chat-sys{
  text-align:center;font-size:11px;color:var(--jos-ink-3);padding:8px 0;font-weight:650;
}
.jos-chat-attach{margin-top:6px;font-size:12px;font-weight:700;color:var(--jos-brand-dark)}
.jos-inbox-templates{padding-top:10px;border-top:1px solid var(--jos-border)}
.jos-notes{display:grid;gap:6px;margin-top:8px}
.jos-note{
  background:var(--jos-surface-2);border:1px solid var(--jos-border);border-radius:10px;
  padding:8px 10px;font-size:12px;color:var(--jos-ink-2);
}
.jos-inbox-ul{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--jos-ink-2);line-height:1.55}
@media(max-width:1100px){
  .jos-inbox-split{grid-template-columns:1fr}
  .jos-inbox-list{max-height:none}
}

/* Jobs helpers (Stage-1 calendar widgets — used only if revived; MC layout owns .jos-jobs-layout) */
.jos-jobs-page{animation:josHomeIn .3s ease both}
.jos-jobs-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;align-items:center}
.jos-jobs-actions{flex-wrap:wrap}
.jos-jobs-metrics{margin-top:12px}
.jos-jobs-bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jos-jobs-side{min-width:0}
.jos-jobs-details h3{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;letter-spacing:-.02em}
.jos-job-card{cursor:pointer;position:relative;transition:border-color .15s ease, transform .15s ease}
.jos-job-card:hover{border-color:rgba(217,99,45,.45);transform:translateY(-1px)}
.jos-job-card.on{border-color:var(--jos-brand);box-shadow:0 0 0 2px rgba(217,99,45,.12)}
.jos-bulk-check{position:absolute;top:10px;right:10px}
.jos-cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.jos-cal-day{
  min-height:130px;border:1px solid var(--jos-border);border-radius:12px;background:#fff;
  padding:8px;text-align:left;cursor:pointer;font:inherit;color:inherit;
}
.jos-cal-day.today{border-color:var(--jos-brand);background:var(--jos-brand-soft)}
.jos-cal-day .d{font-size:12px;font-weight:800;color:var(--jos-navy);margin-bottom:4px}
.jos-cal-day-count{font-size:10px;font-weight:750;color:var(--jos-ink-3);background:var(--jos-panel-2,#F3F4F6);border-radius:999px;padding:1px 6px}
.jos-cal-pill{
  display:flex;flex-direction:column;gap:1px;width:100%;margin-top:3px;padding:3px 5px;border-radius:6px;
  cursor:grab;
}
.jos-cal-pill-svc{font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-cal-pill-sub{font-size:9px;font-weight:600;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-cal-pill-more{font-size:10px;font-weight:700;color:var(--jos-ink-3);padding:2px 5px}
.jos-cal-tech-list{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.jos-cal-tech-row{display:flex;align-items:center;gap:10px}
.jos-cal-tech-mid{flex:1;min-width:0}
.jos-cal-tech-mid strong{display:block;font-size:13px;font-weight:750;color:var(--jos-navy);margin-bottom:5px}
.jos-cal-tech-bar{width:100%;height:6px;border-radius:999px;background:var(--jos-panel-2,#F1F3F4);overflow:hidden}
.jos-cal-tech-bar span{display:block;height:100%;background:var(--jos-brand);border-radius:999px}
.jos-cal-tech-count{font-size:11px;font-weight:700;white-space:nowrap}
.jos-cal-pill.ok,.jos-cal-event.ok{background:rgba(34,160,107,.12);color:#0F6B45}
.jos-cal-pill.info,.jos-cal-event.info{background:rgba(37,99,235,.12);color:#1D4ED8}
.jos-cal-pill.hot,.jos-cal-event.hot{background:rgba(220,38,38,.12);color:#B91C1C}
.jos-cal-pill.warn,.jos-cal-event.warn{background:rgba(217,99,45,.14);color:var(--jos-brand-dark)}
.jos-cal-dayview{display:grid;gap:0;border:1px solid #DADCE0;border-radius:8px;overflow:hidden;background:#fff}
.jos-cal-slot{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0;align-items:stretch;min-height:48px}
.jos-cal-slot .t{
  font-size:11px;font-weight:600;color:#70757A;padding:4px 8px 0 0;text-align:right;
  border-right:1px solid #DADCE0;background:#fff;
}
.jos-cal-slot .slot{
  min-height:48px;border:0;border-bottom:1px solid #E8EAED;border-radius:0;padding:2px 6px;
  background:#fff;position:relative;
}
.jos-cal-slot.outside .slot{background:#F8F9FA}
.jos-cal-slot.outside .t{color:#B0B3B8}
.jos-cal-slot.drop-target .slot{background:rgba(217,99,45,.08);outline:2px solid rgba(217,99,45,.35);outline-offset:-2px}
.jos-cal-closed{font-size:11px;font-weight:650;color:#9AA0A6;padding:10px 4px;display:inline-block}
.jos-cal-add{
  appearance:none;border:0;background:transparent;color:#70757A;font:inherit;font-size:12px;font-weight:650;
  padding:8px 6px;cursor:pointer;border-radius:4px;
}
.jos-cal-add:hover{background:#F1F3F4;color:#202124}
.jos-cal-add.brand{color:var(--jos-brand)}
.jos-cal-event{
  background:#039BE5;border:0;border-radius:4px;padding:4px 8px;margin:2px 0;color:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.12);cursor:grab;
}
.jos-cal-event strong{font-size:12px;font-weight:700;color:#fff}
.jos-cal-event .jos-muted{color:rgba(255,255,255,.85)!important;font-size:11px}
.jos-cal-event.ok{background:#0B8043}
.jos-cal-event.info{background:#039BE5}
.jos-cal-event.warn{background:#D9632D}
.jos-cal-event.hot{background:#D50000}
.jos-cal-event.block,.jos-cal-pill.block{
  background:#5F6368!important;color:#fff!important;
}
.jos-cal-week{display:grid;gap:0;border:1px solid #DADCE0;border-radius:8px;overflow:hidden;background:#fff}
.jos-cal-week-head,.jos-cal-week-row{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));gap:0}
.jos-cal-week-h{
  border:0;border-bottom:1px solid #DADCE0;border-right:1px solid #E8EAED;background:#fff;
  border-radius:0;padding:10px 4px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;color:#3C4043;
}
.jos-cal-week-h.today{background:#FFF8F4;color:var(--jos-brand);box-shadow:inset 0 -2px 0 var(--jos-brand)}
.jos-cal-week-h.closed{color:#9AA0A6;background:#F8F9FA}
.jos-cal-week-h .sub{display:block;font-size:10px;font-weight:650;opacity:.75}
.jos-cal-week-row .t{font-size:11px;font-weight:600;color:#70757A;padding:6px 6px 0 0;text-align:right;border-right:1px solid #DADCE0}
.jos-cal-week-cell{
  min-height:44px;border:0;border-bottom:1px solid #E8EAED;border-right:1px solid #E8EAED;border-radius:0;padding:2px;background:#fff;
}
.jos-cal-week-cell.outside{background:#F8F9FA}
.jos-cal-week-cell.drop-target{background:rgba(217,99,45,.08)}
.jos-cal-gcal{padding:16px;border:1px solid #DADCE0;border-radius:12px;box-shadow:0 1px 2px rgba(60,64,67,.08)}
.jos-cal-gcal-head{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:4px}
.jos-cal-hours-lbl{margin:4px 0 0;font-size:12px}
.jos-cal-day.closed{background:#F8F9FA;opacity:.85}
.jos-cal-pill.block{background:#5F6368;color:#fff}

/* Google Calendar–style timed board */
.jos-gcal-board{border:1px solid #DADCE0;border-radius:10px;overflow:hidden;background:#fff}
.jos-gcal-range{
  padding:10px 14px 0;font-size:14px;font-weight:700;color:#3C4043;letter-spacing:-.01em;
}
.jos-gcal-head{
  display:grid;grid-template-columns:56px repeat(var(--jos-gcal-cols,7),minmax(0,1fr));
  border-bottom:1px solid #DADCE0;background:#fff;position:sticky;top:0;z-index:3;
}
.jos-gcal-board.is-day .jos-gcal-head{grid-template-columns:56px minmax(0,1fr)}
.jos-gcal-gutter{min-height:64px;border-right:1px solid #E8EAED}
.jos-gcal-dow{
  appearance:none;border:0;border-right:1px solid #E8EAED;background:#fff;cursor:pointer;
  padding:10px 4px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;
  font:inherit;color:#70757A;min-height:64px;
}
.jos-gcal-dow:last-child{border-right:0}
.jos-gcal-dow .wd{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.jos-gcal-dow .num{
  width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:500;color:#3C4043;line-height:1;
}
.jos-gcal-dow.today .wd{color:var(--jos-brand,#D9632D)}
.jos-gcal-dow.today .num{background:var(--jos-brand,#D9632D);color:#fff;font-weight:700}
.jos-gcal-dow.closed{opacity:.55}
.jos-gcal-dow .sub{font-size:10px;font-weight:650;color:#9AA0A6}
.jos-gcal-scroll{max-height:min(68vh,720px);overflow:auto;position:relative}
.jos-gcal-grid{
  display:grid;grid-template-columns:56px repeat(var(--jos-gcal-cols,7),minmax(0,1fr));
  position:relative;min-width:0;
}
.jos-gcal-board.is-day .jos-gcal-grid{grid-template-columns:56px minmax(0,1fr)}
.jos-gcal-times{position:relative;border-right:1px solid #DADCE0;background:#fff}
.jos-gcal-time{position:relative}
.jos-gcal-time span{
  position:absolute;top:-7px;right:8px;font-size:10px;font-weight:600;color:#70757A;white-space:nowrap;
}
.jos-gcal-col{
  position:relative;border-right:1px solid #E8EAED;background:#fff;min-width:0;
}
.jos-gcal-col:last-child{border-right:0}
.jos-gcal-hline{
  position:absolute;left:0;right:0;height:0;border-top:1px solid #E8EAED;pointer-events:none;z-index:0;
}
.jos-gcal-outside{
  position:absolute;left:0;right:0;background:#F8F9FA;pointer-events:none;z-index:0;
}
.jos-gcal-now{
  position:absolute;left:0;right:0;height:2px;background:#EA4335;z-index:4;pointer-events:none;
}
.jos-gcal-now i{
  position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#EA4335;
}
.jos-gcal-slot{
  position:absolute;left:0;right:0;z-index:1;box-sizing:border-box;
}
.jos-gcal-slot:hover{background:rgba(217,99,45,.04)}
.jos-gcal-slot.drop-target,.jos-gcal-col.drop-target{background:rgba(217,99,45,.08)}
.jos-gcal-slot-add{
  appearance:none;border:0;background:rgba(255,255,255,.96);color:var(--jos-brand,#D9632D);
  font:inherit;font-size:16px;font-weight:800;line-height:1;
  position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;z-index:2;
  box-shadow:0 1px 4px rgba(15,23,42,.14);border:1px solid rgba(217,99,45,.25);
}
.jos-gcal-slot:hover .jos-gcal-slot-add{opacity:1}
.jos-gcal-slot-add:hover{background:var(--jos-brand,#D9632D);color:#fff;border-color:var(--jos-brand,#D9632D)}
.jos-gcal-event-wrap{
  position:absolute;left:2px;right:2px;z-index:2;
}
.jos-gcal-event{
  position:absolute;inset:0;z-index:2;border:0;border-radius:4px;padding:3px 22px 3px 6px;
  text-align:left;cursor:grab;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.12);
  background:#0277BD;color:#fff;font:inherit;display:flex;flex-direction:column;gap:1px;
  transition:box-shadow .12s ease,transform .12s ease;width:100%;height:100%;box-sizing:border-box;
}
.jos-gcal-event:hover{box-shadow:0 2px 8px rgba(0,0,0,.18);transform:translateY(-1px)}
.jos-gcal-event.on{outline:2px solid #fff;box-shadow:0 0 0 2px var(--jos-brand,#D9632D)}
.jos-gcal-event strong{font-size:11px;font-weight:700;line-height:1.2;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-gcal-event span{font-size:10px;font-weight:500;color:rgba(255,255,255,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-gcal-event.ok{background:#0B8043}
.jos-gcal-event.info{background:#0277BD}
.jos-gcal-event.warn{background:#D9632D}
.jos-gcal-event.hot{background:#D50000}
.jos-gcal-event.block{background:#5F6368}
.jos-gcal-event.mute{background:#9AA0A6}
.jos-gcal-event{touch-action:none}
.jos-gcal-del{
  position:absolute;top:2px;right:2px;z-index:5;
  width:20px;height:20px;padding:0;border:0;border-radius:5px;
  background:rgba(15,23,42,.55);color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  opacity:0;pointer-events:none;transition:opacity .12s ease,background .12s ease;
}
.jos-gcal-event-wrap:hover .jos-gcal-del,
.jos-gcal-event-wrap:focus-within .jos-gcal-del,
.jos-gcal-event-wrap .jos-gcal-event.on ~ .jos-gcal-del{
  opacity:1;pointer-events:auto;
}
.jos-gcal-del:hover{background:#B91C1C}
.jos-gcal-del:focus-visible{opacity:1;pointer-events:auto;outline:2px solid #fff;outline-offset:1px}
@media (hover:none){
  .jos-gcal-slot-add{opacity:1;pointer-events:auto}
  .jos-gcal-del{opacity:1;pointer-events:auto;width:24px;height:24px;font-size:16px;background:rgba(15,23,42,.62)}
}
.jos-gcal-resize{
  position:absolute;left:0;right:0;bottom:0;height:10px;cursor:ns-resize;z-index:3;
}
.jos-gcal-resize::after{
  content:'';position:absolute;left:50%;bottom:2px;width:28px;height:3px;margin-left:-14px;
  border-radius:999px;background:rgba(255,255,255,.55);
}
.jos-gcal-draft{
  position:absolute;left:2px;right:2px;z-index:5;border-radius:4px;padding:4px 6px;
  background:rgba(217,99,45,.22);border:2px solid var(--jos-brand,#D9632D);
  color:var(--jos-navy,#141B2B);font:inherit;pointer-events:none;
  box-shadow:0 4px 14px rgba(217,99,45,.2);
  display:flex;flex-direction:column;gap:2px;overflow:hidden;
}
.jos-gcal-draft strong{font-size:11px;font-weight:800;line-height:1.2}
.jos-gcal-draft span{font-size:10px;font-weight:650;opacity:.85}
.jos-gcal-col.is-dragging,.jos-gcal-board.is-dragging{cursor:crosshair;user-select:none}
.jos-gcal-col.is-dragging .jos-gcal-slot-add{pointer-events:none}
.jos-gcal-create-menu{
  position:fixed;z-index:14060;min-width:200px;padding:8px;
  background:#fff;border:1px solid #DADCE0;border-radius:12px;
  box-shadow:0 12px 36px rgba(15,23,42,.2);display:flex;flex-direction:column;gap:2px;
  color-scheme:light;
}
.jos-gcal-create-menu[hidden]{display:none!important}
.jos-gcal-create-menu button{
  appearance:none;border:0;background:transparent;text-align:left;font:inherit;
  font-size:14px;font-weight:650;color:#141B2B;padding:10px 12px;border-radius:8px;cursor:pointer;
}
.jos-gcal-create-menu button:hover,
.jos-gcal-create-menu button:focus-visible{background:#FDF0E8;color:#B84E1F;outline:none}
.jos-gcal-create-btn{display:inline-flex;align-items:center;gap:6px}
.jos-jobs-cal-toolbar-left,
.jos-jobs-cal-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jos-gcal-create-plus{
  display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;
  border-radius:50%;background:rgba(255,255,255,.28);font-size:14px;font-weight:800;line-height:1;color:#fff;
}
.jos-gcal-create-pop{
  position:fixed;z-index:14050;width:min(380px,calc(100vw - 24px));
  background:#fff;border:1px solid #DADCE0;border-radius:16px;
  box-shadow:0 18px 48px rgba(15,23,42,.22);padding:16px 16px 14px;color:#141B2B;
  color-scheme:light;
}
.jos-gcal-create-pop[hidden]{display:none!important}
.jos-gcal-create-pop--rich{padding-top:12px}
.jos-gcal-create-x{
  position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;
  background:transparent;color:#5F6368;font-size:22px;line-height:1;cursor:pointer;
}
.jos-gcal-create-x:hover{background:#F1F3F4;color:#141B2B}
.jos-gcal-create-title{
  width:100%;box-sizing:border-box;border:0;border-bottom:2px solid #D9632D;
  padding:8px 36px 10px 2px;font:inherit;font-size:22px;font-weight:600;color:#141B2B;
  outline:none;background:transparent;margin:0 0 14px;
}
.jos-gcal-create-title::placeholder{color:#9AA0A6;font-weight:500}
.jos-gcal-create-types{
  display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:#F1F3F4;margin:0 0 14px;
}
.jos-gcal-create-types button{
  appearance:none;border:0;background:transparent;font:inherit;font-size:13px;font-weight:650;
  color:#3C4043;padding:7px 14px;border-radius:999px;cursor:pointer;
}
.jos-gcal-create-types button.on{background:#FDF0E8;color:#B84E1F}
.jos-gcal-create-row{
  display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;margin:0 0 12px;
}
.jos-gcal-create-ico{font-size:16px;line-height:28px;color:#5F6368;text-align:center}
.jos-gcal-create-row-body{min-width:0}
.jos-gcal-create-pop .jos-gcal-create-range{
  font-size:14px;font-weight:650;color:#3C4043;margin:0 0 6px;
}
.jos-gcal-create-subtle{
  display:block;font-size:11px;font-weight:700;color:#5F6368;margin:0 0 4px;
}
.jos-gcal-create-hint{font-size:11px;color:#5F6368;margin:6px 0 0;line-height:1.35}
.jos-gcal-create-pop select,
.jos-gcal-create-pop input[type="search"]{
  width:100%;box-sizing:border-box;border:1px solid #DADCE0;border-radius:10px;
  padding:9px 12px;font:inherit;font-size:13px;font-weight:550;color:#141B2B;outline:none;background:#fff;
}
.jos-gcal-create-pop select:focus,
.jos-gcal-create-pop input[type="search"]:focus{
  border-color:var(--jos-brand,#D9632D);box-shadow:0 0 0 3px rgba(217,99,45,.15);
}
.jos-gcal-people-results{
  margin-top:6px;border:1px solid #DADCE0;border-radius:10px;background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.12);max-height:180px;overflow:auto;
}
.jos-gcal-people-results[hidden]{display:none!important}
.jos-gcal-people-hit{
  display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;
  border:0;border-bottom:1px solid #F1F3F4;background:#fff;padding:10px 12px;cursor:pointer;font:inherit;
}
.jos-gcal-people-hit:last-child{border-bottom:0}
.jos-gcal-people-hit:hover{background:#FDF0E8}
.jos-gcal-people-hit strong{font-size:13px;font-weight:700;color:#141B2B}
.jos-gcal-people-hit span{font-size:11px;color:#5F6368}
.jos-gcal-people-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.jos-gcal-chip{
  display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;border-radius:999px;
  background:#FDF0E8;color:#B84E1F;font-size:12px;font-weight:700;
}
.jos-gcal-chip small{font-weight:550;opacity:.85;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jos-gcal-chip button{
  appearance:none;border:0;background:rgba(184,78,31,.14);color:#B84E1F;width:18px;height:18px;
  border-radius:50%;font-size:13px;line-height:1;cursor:pointer;padding:0;
}
.jos-gcal-create-foot{
  display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:4px;
}
.jos-gcal-create-foot .jos-btn{
  min-width:88px;justify-content:center;
  background:#fff;color:#141B2B;border:1px solid #DADCE0;
}
.jos-gcal-create-foot .jos-btn-brand{
  background:#D9632D!important;border-color:#D9632D!important;color:#fff!important;
}
.jos-gcal-create-foot .jos-btn-brand:hover{background:#B84E1F!important;border-color:#B84E1F!important}
.jos-gcal-create-pop .jos-gcal-create-kicker{
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5F6368;margin:0 0 8px;
}
.jos-gcal-create-pop label{
  display:block;font-size:12px;font-weight:700;color:#5F6368;margin:0 0 6px;
}
.jos-gcal-create-pop input[type="text"]:not(.jos-gcal-create-title){
  width:100%;box-sizing:border-box;border:1px solid #DADCE0;border-radius:10px;
  padding:10px 12px;font:inherit;font-size:14px;font-weight:650;color:#141B2B;outline:none;
  margin-bottom:12px;background:#fff;
}
.jos-gcal-create-pop .jos-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.jos-gcal-create-pop .jos-btn-row .jos-btn{flex:1;min-width:0;justify-content:center}
@media(max-width:1100px){
  .jos-gcal-head,.jos-gcal-grid{grid-template-columns:44px repeat(var(--jos-gcal-cols,7),minmax(72px,1fr));min-width:620px}
  .jos-gcal-board.is-day .jos-gcal-head,.jos-gcal-board.is-day .jos-gcal-grid{grid-template-columns:44px minmax(0,1fr);min-width:0}
  .jos-gcal-scroll{overflow:auto}
}
.jos-progress{height:8px;border-radius:999px;background:var(--jos-surface-3);overflow:hidden;margin-top:8px}
.jos-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--jos-brand),#F0A070);border-radius:999px}
.jos-check-row{display:flex;gap:8px;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid var(--jos-border)}
.jos-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.jos-photo{
  background:var(--jos-surface-2);border:1px solid var(--jos-border);border-radius:10px;padding:12px;font-size:12px;font-weight:700;
  display:flex;flex-direction:column;gap:8px;min-height:72px;
}
.jos-textarea{
  width:100%;min-height:72px;border:1px solid var(--jos-border);border-radius:12px;padding:10px 12px;
  font:inherit;font-size:13px;resize:vertical;background:#fff;color:var(--jos-navy);
}
@media(max-width:1100px){
  .jos-cal-month{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-cal-week-head,.jos-cal-week-row{grid-template-columns:40px repeat(7,minmax(44px,1fr));overflow:auto}
}

/* Leads */
.jos-leads-page{animation:josHomeIn .3s ease both}
.jos-leads-tabs{flex-wrap:wrap}
.jos-leads-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;align-items:center}
.jos-leads-search{
  flex:1;min-width:220px;display:flex;align-items:center;
  background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:0 12px;height:40px;
}
.jos-leads-search input{border:0;outline:none;width:100%;font:inherit;font-size:13px;background:transparent;color:var(--jos-navy)}
.jos-leads-layout{
  display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.4fr) minmax(220px,.75fr);
  gap:14px;align-items:start;min-height:62vh;
}
.jos-leads-list{max-height:72vh;overflow:auto;padding-right:2px}
.jos-leads-main,.jos-leads-side{min-width:0}
.jos-leads-card{text-align:left;width:100%}
.jos-leads-card .jos-leads-last{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 6px;color:var(--jos-ink-2);font-size:12px;
}
.jos-leads-ws-tabs,.jos-leads-actions{flex-wrap:wrap}
.jos-leads-workspace h3{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;letter-spacing:-.02em}
.jos-leads-integ{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;
  padding:10px 12px;border:1px dashed var(--jos-border);border-radius:12px;background:var(--jos-surface-2);
}
.jos-leads-drawer{
  margin:0 0 14px;padding:14px;border:1px solid var(--jos-border);border-radius:14px;background:#fff;
  animation:josHomeIn .25s ease both;
}
/* Scoped, not the shared .jos-kicker used app-wide — sentence case and
   lighter here matches the rest of the redesigned Leads page instead of
   the heavier tracked-uppercase treatment .jos-kicker uses elsewhere. */
.jos-leads-drawer .jos-kicker{
  font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--jos-navy);
}
.jos-leads-filter-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;
}
.jos-leads-filter-grid label,.jos-leads-form label{
  display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-3);
}
.jos-leads-filter-grid select,.jos-leads-filter-grid input,
.jos-leads-form select,.jos-leads-form input,.jos-leads-form .jos-leads-combo-trigger{
  height:36px;border:1px solid var(--jos-border);border-radius:10px;padding:0 10px;
  font:inherit;font-size:13px;font-weight:600;color:var(--jos-navy);background:#fff;
}
.jos-leads-form .jos-leads-combo-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  text-align:left;cursor:pointer;box-sizing:border-box;
}
.jos-leads-form .jos-leads-combo-trigger.is-empty{color:var(--jos-ink-3);font-weight:500}
.jos-leads-form .jos-leads-combo-trigger .jos-leads-combo-chev{color:var(--jos-ink-3);font-size:11px}
.jos-leads-form .jos-leads-combo-wrap{position:relative}
.jos-leads-form .jos-leads-kicker{grid-column:1/-1;margin:8px 0 -2px}
.jos-leads-modal-backdrop{
  position:fixed;inset:0;background:rgba(20,27,43,.45);z-index:12040;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.jos-leads-modal{
  width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;
  border:1px solid var(--jos-border);padding:18px;box-shadow:0 18px 50px rgba(20,27,43,.18);
  color:#141B2B;
}
.jos-leads-modal-lg{width:min(760px,100%)}
.jos-li-map-grid{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.jos-li-map-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--jos-border);border-radius:10px}
.jos-li-map-src{font-size:13px;font-weight:700;color:#141B2B}
.jos-li-map-row select{font:inherit;font-size:13px;padding:6px 8px;border-radius:8px;border:1px solid var(--jos-border)}
.jos-li-preview{margin-top:14px;overflow-x:auto}
.jos-li-preview table{font-size:12px}
.jos-leads-modal-head h3,#jos-la-title{
  margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:#141B2B!important;
}
.jos-leads-modal-x{
  appearance:none;width:36px;height:36px;border-radius:10px;border:1px solid #E5E7EB;background:#F9FAFB;
  color:#141B2B;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.jos-leads-modal-x:hover{background:#F3F4F6;border-color:#D1D5DB}
.jos-leads-modal-actions{justify-content:flex-end}
.jos-leads-modal .jos-btn{color:#141B2B}
.jos-leads-modal .jos-btn-brand{color:#fff!important}
.jos-leads-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.jos-leads-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#374151;position:relative}
.jos-leads-form .jos-phone-dial,.jos-cust-form .jos-phone-dial{
  position:absolute;right:10px;top:28px;font-size:11px;font-weight:800;color:#6B7280;pointer-events:none;
}
.jos-leads-form .jos-leads-span2{grid-column:1/-1}
.jos-leads-ctx{
  position:absolute;z-index:70;min-width:180px;background:#fff;border:1px solid var(--jos-border);
  border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(20,27,43,.16);display:flex;flex-direction:column;
}
.jos-leads-ctx button{
  border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;color:var(--jos-navy);cursor:pointer;
}
.jos-leads-ctx button:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}
.jos-leads-page{position:relative}
.jos-leads-perm{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}
.jos-leads-perm th,.jos-leads-perm td{padding:6px 4px;border-bottom:1px solid var(--jos-border);text-align:center}
.jos-leads-perm th:first-child,.jos-leads-perm td:first-child{text-align:left;font-weight:700}
@media(max-width:1100px){
  .jos-leads-layout{grid-template-columns:1fr}
  .jos-leads-list{max-height:none}
  .jos-leads-filter-grid{grid-template-columns:1fr 1fr}
  .jos-leads-form{grid-template-columns:1fr}
}

/* Customers */
.jos-cust-page{animation:josHomeIn .3s ease both;position:relative}
.jos-cust-tabs{flex-wrap:wrap}
.jos-cust-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;align-items:center}
.jos-cust-search{
  flex:1;min-width:220px;display:flex;align-items:center;
  background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:0 12px;height:40px;
}
.jos-cust-search input{border:0;outline:none;width:100%;font:inherit;font-size:13px;background:transparent;color:var(--jos-navy)}
.jos-cust-segments{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.jos-cust-layout{
  display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.4fr) minmax(220px,.75fr);
  gap:14px;align-items:start;min-height:62vh;
}
.jos-cust-list{max-height:72vh;overflow:auto;padding-right:2px}
.jos-cust-main,.jos-cust-side{min-width:0}
.jos-cust-card{text-align:left;width:100%}
.jos-cust-card-ltv{font-weight:800;color:var(--jos-navy);font-size:14px;white-space:nowrap}
.jos-cust-last{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 0;color:var(--jos-ink-2);font-size:12px;
}
.jos-cust-workspace h3{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;letter-spacing:-.02em}
.jos-cust-ws-tabs{flex-wrap:wrap;margin-top:12px}
.jos-cust-ws-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.jos-cust-ws-body{max-height:48vh;overflow:auto}
.jos-cust-drawer{
  margin:0 0 14px;padding:14px;border:1px solid var(--jos-border);border-radius:14px;background:#fff;
  animation:josHomeIn .25s ease both;
}
.jos-cust-filter-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;
}
.jos-cust-filter-grid label,.jos-cust-form label{
  display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-3);
}
.jos-cust-filter-grid select,.jos-cust-filter-grid input,
.jos-cust-form select,.jos-cust-form input{
  height:36px;border:1px solid var(--jos-border);border-radius:10px;padding:0 10px;
  font:inherit;font-size:13px;font-weight:600;color:var(--jos-navy);background:#fff;
}
.jos-cust-modal-backdrop{
  position:fixed;inset:0;background:rgba(20,27,43,.45);z-index:12040;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.jos-cust-modal{
  width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;
  border:1px solid var(--jos-border);padding:18px;box-shadow:0 18px 50px rgba(20,27,43,.18);
  color:#141B2B;
}
.jos-cust-modal-head h3,.jos-cust-modal #jos-ca-title{
  margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:#141B2B!important;
}
.jos-cust-modal-x{
  appearance:none;width:36px;height:36px;border-radius:10px;border:1px solid #E5E7EB;background:#F9FAFB;
  color:#141B2B;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.jos-cust-modal-x:hover{background:#F3F4F6;border-color:#D1D5DB}
.jos-cust-modal-actions{justify-content:flex-end}
.jos-cust-modal .jos-btn{color:#141B2B}
.jos-cust-modal .jos-btn-brand{color:#fff!important}
.jos-cust-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.jos-cust-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#374151}
.jos-cust-form .jos-cust-span2{grid-column:1/-1}
.jos-cust-ctx{
  position:absolute;z-index:70;min-width:180px;background:#fff;border:1px solid var(--jos-border);
  border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(20,27,43,.16);display:flex;flex-direction:column;
}
.jos-cust-ctx button{
  border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;color:var(--jos-navy);cursor:pointer;
}
.jos-cust-ctx button:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}
.jos-cust-perm{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}
.jos-cust-perm th,.jos-cust-perm td{padding:6px 4px;border-bottom:1px solid var(--jos-border);text-align:center}
.jos-cust-perm th:first-child,.jos-cust-perm td:first-child{text-align:left;font-weight:700}
@media(max-width:1100px){
  .jos-cust-layout{grid-template-columns:1fr}
  .jos-cust-list{max-height:none}
  .jos-cust-ws-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-cust-filter-grid{grid-template-columns:1fr 1fr}
  .jos-cust-form{grid-template-columns:1fr}
  .jos-cust-ws-body{max-height:none}
}
@media(max-width:720px){
  .jos-cust-page .jos-page-head{flex-direction:column;align-items:stretch}
  .jos-cust-page .jos-page-actions{flex-wrap:wrap}
}

/* Design System shared */
.jos-ds-search{
  flex:1;min-width:220px;display:flex;align-items:center;
  background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:0 12px;height:40px;
}
.jos-ds-search input{border:0;outline:none;width:100%;font:inherit;font-size:13px;background:transparent;color:var(--jos-navy)}
.jos-ds-drawer{
  position:absolute;right:22px;top:72px;z-index:50;width:min(420px,calc(100vw - 44px));
  background:#fff;border:1px solid var(--jos-border);border-radius:14px;
  box-shadow:0 18px 50px rgba(15,23,42,.14);padding:14px 16px;
}
.jos-ds-drawer-body{display:grid;gap:10px}
.jos-ds-toolbar{margin-top:8px}
.jos-ds-section-h{margin:12px 0 8px}

/* Pipeline — Mission Control (kanban + deal workspace) */
.jos-pipe-page{animation:josHomeIn .3s ease both;position:relative}
.jos-pipe-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;align-items:center}
.jos-pipe-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;min-height:62vh;align-items:start}
.jos-pipe-board-wrap{overflow:auto;padding-bottom:8px}
.jos-pipe-board{display:flex;gap:10px;min-height:58vh}
.jos-pipe-col{
  min-width:200px;max-width:220px;flex:0 0 200px;
  background:var(--jos-surface-3);border-radius:14px;display:flex;flex-direction:column;max-height:68vh;
}
.jos-pipe-col-h{padding:10px 10px 6px;border-bottom:1px solid var(--jos-border)}
.jos-pipe-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}
.jos-pipe-col.drop-target{outline:2px dashed rgba(217,99,45,.45);background:rgba(217,99,45,.06)}
.jos-pipe-card.on{border-color:var(--jos-brand);box-shadow:0 0 0 2px rgba(217,99,45,.2)}
.jos-pipe-dot.quote{background:var(--jos-brand)}
.jos-pipe-dot.incomplete,.jos-pipe-dot.qualified{background:#8b5cf6}
.jos-pipe-dot.booked{background:#2563eb}
.jos-pipe-dot.completed{background:#16a34a}
.jos-pipe-dot.lead{background:#f59e0b}
.jos-pipe-dot.review{background:#0d9488}
.jos-pipe-dot.membership{background:#0f766e}
.jos-pk-stage-tabs{
  display:none;gap:6px;margin:0 0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding-bottom:2px;flex-shrink:0;
}
.jos-pk-stage-tab{
  appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:999px;
  padding:8px 12px;font:inherit;font-size:12px;font-weight:750;color:var(--jos-ink-2);
  white-space:nowrap;cursor:pointer;flex:0 0 auto;
}
.jos-pk-stage-tab em{font-style:normal;opacity:.7;margin-left:4px}
.jos-pk-stage-tab.on{border-color:rgba(217,99,45,.5);background:var(--jos-brand-soft);color:var(--jos-brand)}
.jos-pk-field{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2);margin-bottom:10px}
.jos-pk-field input,.jos-pk-field textarea{
  border:1px solid var(--jos-border);border-radius:10px;padding:9px 11px;font:inherit;font-size:13px;font-weight:550;color:var(--jos-navy);
}
.jos-pk-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jos-pipe-detail{
  background:#fff;border:1px solid var(--jos-border);border-radius:14px;
  padding:14px 16px;position:sticky;top:12px;max-height:72vh;overflow:auto;
}
.jos-pipe-detail-empty{padding:24px;text-align:center;color:var(--jos-ink-3);font-size:13px}
.jos-pipe-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jos-pipe-filter-grid label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-pipe-filter-grid select,.jos-pipe-filter-grid input{
  border:1px solid var(--jos-border);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;
}
.jos-pipe-stage-pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.jos-pipe-stage-pick button{font-size:10px;padding:4px 8px}
@media(max-width:1100px){
  .jos-pipe-layout{grid-template-columns:1fr}
  .jos-pipe-detail{position:relative;top:0;max-height:none}
}

/* Pipeline Mission Control shell */
#p-app.jos-pixel.jos-pipeline-mode{
  --jos-pk-bg:#F8F9FB;
  --jos-pk-ws:360px;
}
#p-app.jos-pixel.jos-pipeline-mode .app-main{margin-left:var(--nav);background:var(--jos-pk-bg)}
#p-app.jos-pixel.jos-pipeline-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-pipeline-mode #v-pipeline.body,
#p-app.jos-pixel.jos-pipeline-mode #jos-pipeline-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:hidden;background:var(--jos-pk-bg);
}
#p-app.jos-pixel.jos-pipeline-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-pipeline-mode .ni.active{background:var(--jos-brand);box-shadow:none}

.jos-pk-shell{height:100vh;max-width:100%;width:100%;margin:0;display:flex;flex-direction:column;background:var(--jos-pk-bg,#F8F9FB);padding:16px 16px 12px;overflow:auto;overflow-x:hidden;animation:josHomeIn .3s ease both;box-sizing:border-box}
.jos-pk-header{
  min-height:80px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  flex-shrink:0;margin-bottom:16px;
}
.jos-pk-header h1{
  margin:0;font-size:36px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy);
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;line-height:1.1;
}
.jos-pk-header p{margin:8px 0 0;font-size:16px;color:var(--jos-ink-2);line-height:1.4}
.jos-pk-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.jos-pk-add{
  height:44px;padding:0 18px;border-radius:12px;background:#fff;border:1.5px solid var(--jos-brand);
  color:var(--jos-brand);font-weight:750;transition:transform .15s,box-shadow .2s;
}
.jos-pk-bulk{
  height:44px;padding:0 18px;border-radius:12px;font-weight:750;
  transition:transform .15s,background .2s;
}
.jos-pk-add:hover,.jos-pk-bulk:hover{transform:scale(1.02)}

.jos-pk-search-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-shrink:0}
.jos-pk-search{
  flex:1;min-width:0;height:52px;display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--jos-border);border-radius:16px;padding:0 16px;
  box-shadow:0 1px 2px rgba(15,20,31,.03);
}
.jos-pk-search-ico{
  width:18px;height:18px;flex-shrink:0;position:relative;opacity:.45;
}
.jos-pk-search-ico::before{
  content:"";position:absolute;inset:2px;border:2px solid currentColor;border-radius:50%;width:10px;height:10px;box-sizing:border-box;
}
.jos-pk-search-ico::after{
  content:"";position:absolute;width:2px;height:6px;background:currentColor;border-radius:1px;
  right:1px;bottom:1px;transform:rotate(-45deg);
}
.jos-pk-search input{
  border:0;outline:0;flex:1;background:transparent;font:inherit;font-size:14px;color:var(--jos-navy);
}
.jos-pk-search-row > .jos-btn{height:44px;border-radius:12px;background:#fff;border:1px solid var(--jos-border)}
.jos-pk-sort-wrap{position:relative}
.jos-pk-sort-menu{
  position:absolute;top:48px;right:0;z-index:30;min-width:160px;background:#fff;
  border:1px solid var(--jos-border);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:6px;
}
.jos-pk-sort-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;
  border-radius:8px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-pk-sort-menu button:hover{background:var(--jos-brand-soft)}

.jos-pk-drawer{
  background:#fff;border:1px solid var(--jos-border);border-radius:16px;padding:16px;margin-bottom:16px;
  box-shadow:0 8px 24px rgba(15,20,31,.06);
}

.jos-pk-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:20px;flex-shrink:0;
}
.jos-pk-kpi{
  appearance:none;border:0;text-align:left;cursor:pointer;
  height:112px;border-radius:18px;background:#fff;padding:18px 20px;
  box-shadow:0 4px 16px rgba(15,20,31,.04);border:1px solid rgba(230,232,236,.8);
  display:flex;flex-direction:column;justify-content:center;gap:4px;
  transition:transform .18s ease,box-shadow .18s ease;
}
.jos-pk-kpi:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(15,20,31,.08)}
.jos-pk-kpi .lbl{font-size:13px;font-weight:650;color:var(--jos-ink-2)}
.jos-pk-kpi strong{
  font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy);
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
.jos-pk-kpi .trend{font-size:12px;font-weight:650;color:#16a34a}
.jos-pk-kpi[data-jos-act="pipe-kpi-won"] .trend,
.jos-pk-kpi[data-jos-act="pipe-kpi-stages"] .trend{color:var(--jos-ink-3);font-weight:550}

.jos-pk-layout{
  display:flex;gap:16px;align-items:flex-start;flex:1;min-height:0;overflow-x:hidden;max-width:100%;
}
.jos-pk-ws{
  flex:0 0 min(320px,28vw)!important;max-width:min(320px,28vw);min-width:0;
}
.jos-pk-main{flex:1 1 75%;min-width:0;display:flex;flex-direction:column;gap:12px}
.jos-pk-board{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
  overflow-x:hidden;padding-bottom:4px;align-items:stretch;width:100%;max-width:100%;
}
.jos-pk-board-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.jos-pk-col{
  background:#F5F7FA;border-radius:20px;display:flex;flex-direction:column;
  min-height:520px;max-height:680px;border:1px solid rgba(230,232,236,.7);
  transition:box-shadow .2s,outline-color .2s,background .2s;
}
.jos-pk-col.drop-target{outline:2px dashed rgba(217,99,45,.5);background:rgba(217,99,45,.06)}
.jos-pk-col.drop-ok{outline:2px solid rgba(22,163,74,.55);background:rgba(22,163,74,.08)}
.jos-pk-col-h{
  position:sticky;top:0;z-index:2;height:64px;padding:14px 16px 10px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
  border-top:3px solid #94a3b8;border-radius:20px 20px 0 0;background:inherit;
}
.jos-pk-col.tone-blue .jos-pk-col-h{border-top-color:#3b82f6}
.jos-pk-col.tone-purple .jos-pk-col-h{border-top-color:#8b5cf6}
.jos-pk-col.tone-orange .jos-pk-col-h{border-top-color:var(--jos-brand)}
.jos-pk-col.tone-green .jos-pk-col-h{border-top-color:#16a34a}
.jos-pk-col.tone-gray .jos-pk-col-h{border-top-color:#94a3b8}
.jos-pk-col-title{
  display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--jos-navy);
}
.jos-pk-count{
  min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#fff;
  border:1px solid var(--jos-border);font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;color:var(--jos-ink-2);
}
.jos-pk-col-val{font-size:12px;font-weight:750;color:var(--jos-ink-2);white-space:nowrap}
.jos-pk-col-body{
  flex:1;min-height:0;overflow-y:auto;padding:8px 12px 4px;
  display:flex;flex-direction:column;gap:10px;
}
.jos-pk-col-add{
  appearance:none;border:0;background:transparent;color:var(--jos-brand);
  font:inherit;font-size:13px;font-weight:750;padding:12px;cursor:pointer;text-align:left;
}
.jos-pk-col-add:hover{text-decoration:underline}

.jos-pk-card{
  width:100%;max-width:250px;min-height:96px;margin:0 auto;box-sizing:border-box;
  background:#fff;border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;
  box-shadow:0 2px 10px rgba(15,20,31,.05);border:1px solid transparent;cursor:grab;
  transition:transform .18s ease,box-shadow .18s ease;animation:josPkCardIn .2s ease both;
}
.jos-pk-card:hover{transform:scale(1.02);box-shadow:0 8px 22px rgba(15,20,31,.1)}
.jos-pk-card.on{border-color:var(--jos-brand);box-shadow:0 0 0 2px rgba(217,99,45,.18),0 8px 22px rgba(15,20,31,.08)}
.jos-pk-card.is-dragging{opacity:.92;transform:rotate(2deg) scale(1.03);cursor:grabbing;z-index:5}
@keyframes josPkCardIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.jos-pk-ava{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(145deg,#1e293b,#334155);color:#fff;
  font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;
}
.jos-pk-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.jos-pk-card-body strong{font-size:13px;font-weight:750;color:var(--jos-navy);line-height:1.25}
.jos-pk-card-body .jos-muted{font-size:12px;color:var(--jos-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-pk-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.jos-pk-tag{
  font-size:10px;font-weight:750;padding:3px 8px;border-radius:999px;
  background:#EFF6FF;color:#1d4ed8;white-space:nowrap;
}
.jos-pk-amt{font-size:13px;font-weight:800;color:var(--jos-navy)}

.jos-pk-empty{
  text-align:center;padding:28px 16px;color:var(--jos-ink-3);font-size:12px;line-height:1.45;
}
.jos-pk-empty.muted{padding:16px;opacity:.7}
.jos-pk-empty-art{
  width:56px;height:56px;margin:0 auto 12px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#fff 0%,#e8edf5 70%);
  position:relative;
}
.jos-pk-empty-art::after{
  content:"";position:absolute;left:50%;top:50%;width:14px;height:8px;
  border-left:2.5px solid #94a3b8;border-bottom:2.5px solid #94a3b8;
  transform:translate(-50%,-60%) rotate(-45deg);
}

.jos-pk-tip{
  text-align:center;font-size:12px;color:var(--jos-ink-3);padding:8px 0 4px;font-weight:550;
}
.jos-pk-tip span{margin-right:4px}

.jos-pk-ws{
  flex:0 0 var(--jos-pk-ws,360px);width:var(--jos-pk-ws,360px);max-width:100%;
  background:#fff;border-radius:24px;padding:24px;box-shadow:0 8px 30px rgba(15,20,31,.06);
  border:1px solid rgba(230,232,236,.9);position:sticky;top:24px;max-height:calc(100vh - 48px);
  overflow:auto;align-self:flex-start;animation:josPkWsIn .22s ease both;
}
@keyframes josPkWsIn{from{opacity:0}to{opacity:1}}
.jos-pk-ws-empty{padding:40px 8px;text-align:center;color:var(--jos-ink-3)}
.jos-pk-ws-empty strong{display:block;color:var(--jos-navy);font-size:16px;margin-bottom:8px}
.jos-pk-ws-name{
  font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy);line-height:1.15;
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
.jos-pk-ws-meta{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.jos-pk-qa{display:flex;gap:10px;margin:18px 0 16px}
.jos-pk-qa-btn{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--jos-border);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--jos-ink-2);
  transition:transform .15s,border-color .15s,color .15s,background .15s;
}
.jos-pk-qa-btn:hover{transform:scale(1.06);border-color:var(--jos-brand);color:var(--jos-brand);background:var(--jos-brand-soft)}

.jos-pk-ai{
  border:1.5px solid rgba(217,99,45,.45);border-radius:16px;padding:14px 16px;margin-bottom:16px;
  background:linear-gradient(180deg,#fffaf7 0%,#fff 100%);
}
.jos-pk-ai p{margin:8px 0 12px;font-size:13px;line-height:1.45;color:var(--jos-ink-2)}
.jos-pk-new{
  font-size:10px;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--jos-brand);
  padding:3px 8px;border-radius:999px;
}
.jos-pk-sec{margin-bottom:16px}
.jos-pk-sec .jos-kicker{margin-bottom:8px}
.jos-pk-next{
  display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;
  background:var(--jos-surface-2);margin-bottom:10px;font-size:13px;
}
.jos-pk-feed{display:grid;gap:8px}
.jos-pk-feed-row{display:flex;gap:10px;align-items:flex-start;font-size:12px}
.jos-pk-feed-row i{
  width:8px;height:8px;border-radius:50%;background:var(--jos-brand);margin-top:5px;flex-shrink:0;
}
.jos-pk-feed-row span{display:flex;flex-direction:column;gap:1px;min-width:0}
.jos-pk-kv{
  display:flex;justify-content:space-between;gap:12px;padding:8px 0;
  border-bottom:1px solid var(--jos-border);font-size:13px;
}
.jos-pk-kv span{color:var(--jos-ink-3);font-weight:600}
.jos-pk-kv strong{color:var(--jos-navy);font-weight:700;text-align:right}
.jos-pk-tags{display:flex;flex-wrap:wrap;gap:8px}
.jos-pk-tag-pill{
  appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:999px;
  padding:6px 12px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;color:var(--jos-ink-2);
  transition:background .15s,border-color .15s,color .15s;
}
.jos-pk-tag-pill:hover,.jos-pk-tag-pill.add{border-color:var(--jos-brand);color:var(--jos-brand)}
.jos-pk-tag-pill:first-child{background:#EFF6FF;border-color:#BFDBFE;color:#1d4ed8}
.jos-pk-cta{
  width:100%;height:52px;border-radius:14px;margin-top:8px;font-size:15px;font-weight:750;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}

@media(max-width:1440px){
  .jos-pk-shell{padding:20px 24px}
  .jos-pk-header h1{font-size:30px}
  .jos-pk-kpis{gap:14px}
  .jos-pk-kpi{height:100px}
  .jos-pk-kpi strong{font-size:24px}
  #p-app.jos-pixel.jos-pipeline-mode{--jos-pk-ws:320px}
}
@media(max-width:1200px){
  .jos-pk-layout{flex-direction:column}
  .jos-pk-ws{flex:none;width:100%;position:relative;top:0;max-height:none}
  .jos-pk-board,.jos-pk-board-4{grid-template-columns:repeat(4,minmax(200px,1fr));overflow-x:auto}
  .jos-pk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  #p-app.jos-pixel.jos-pipeline-mode{--nav:0px}
  #p-app.jos-pixel.jos-pipeline-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-pipeline-mode .app-main{margin-left:0}
  .jos-pk-shell{padding:12px;height:auto;min-height:100vh;max-height:none;overflow:auto}
  .jos-pk-header{flex-direction:column;min-height:0;gap:12px;margin-bottom:10px}
  .jos-pk-header h1{font-size:24px}
  .jos-pk-header p{font-size:13px}
  .jos-pk-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .jos-pk-add,.jos-pk-bulk{width:100%;height:44px}
  .jos-pk-stage-tabs{display:flex}
  .jos-pk-kpis{display:none}
  .jos-pk-board,.jos-pk-board-4{grid-template-columns:1fr;overflow:visible}
  .jos-pk-col{max-height:none;min-height:0}
  .jos-pk-card{max-width:none}
  .jos-pk-tip{display:none}
  .jos-pk-ws{border-radius:16px;padding:16px;position:relative;top:0;max-height:none}
  .jos-pk-ws-name{font-size:22px}
}

/* Storefront OS */
.jos-sf-page{animation:josHomeIn .3s ease both;position:relative}
#p-app.jos-pixel.jos-storefront-mode{
  --jos-sf-bg:#F8F9FB;
  --jos-sf-panel:380px;
}
#p-app.jos-pixel.jos-storefront-mode .app-main{margin-left:var(--nav);background:var(--jos-sf-bg)}
#p-app.jos-pixel.jos-storefront-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-storefront-mode #v-editor.body,
#p-app.jos-pixel.jos-storefront-mode #jos-storefront-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:hidden;background:var(--jos-sf-bg);
}
#p-app.jos-pixel.jos-storefront-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-storefront-mode .ni.active{background:var(--jos-brand);box-shadow:none}

.jos-sf-mc-shell{
  height:100vh;max-width:100%;display:flex;flex-direction:column;background:var(--jos-sf-bg,#F8F9FB);
  animation:josHomeIn .3s ease both;overflow:hidden;
}
.jos-sf-mc-toolbar{
  display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--jos-border);
  flex-shrink:0;min-height:56px;flex-wrap:wrap;
}
.jos-sf-mc-back{
  appearance:none;border:0;background:transparent;font:inherit;font-size:13px;font-weight:650;color:var(--jos-ink-2);cursor:pointer;
}
.jos-sf-mc-devices{display:flex;gap:6px;padding:4px;background:var(--jos-surface-2);border-radius:10px}
.jos-sf-mc-device{
  width:36px;height:32px;border:0;border-radius:8px;background:transparent;cursor:pointer;opacity:.55;
}
.jos-sf-mc-device.on{background:#fff;opacity:1;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.jos-sf-mc-device[data-jos-sf-device="desktop"]::after{content:"▭";font-size:14px}
.jos-sf-mc-device[data-jos-sf-device="tablet"]::after{content:"▯";font-size:14px}
.jos-sf-mc-device[data-jos-sf-device="mobile"]::after{content:"▮";font-size:14px}
.jos-sf-mc-url{
  flex:1;min-width:200px;max-width:520px;display:flex;align-items:center;gap:10px;
  background:var(--jos-surface-2);border:1px solid var(--jos-border);border-radius:999px;padding:8px 14px;
}
.jos-sf-mc-live{font-size:10px;font-weight:800;color:#16a34a;background:#dcfce7;padding:3px 8px;border-radius:999px}
.jos-sf-mc-url-text{font-size:13px;font-weight:650;color:var(--jos-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jos-sf-mc-ext{appearance:none;border:0;background:transparent;cursor:pointer;font-size:14px;color:var(--jos-ink-3)}
.jos-sf-mc-history{display:flex;gap:4px}
.jos-sf-mc-icon{
  width:36px;height:36px;border-radius:10px;border:1px solid var(--jos-border);background:#fff;cursor:pointer;font-size:16px;
}
.jos-sf-mc-publish{height:40px;border-radius:12px;padding:0 18px;font-weight:750}
.jos-sf-mc-publish-wrap{position:relative}
.jos-sf-mc-publish-menu{
  position:absolute;top:44px;right:0;z-index:40;min-width:180px;background:#fff;border:1px solid var(--jos-border);
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:6px;
}
.jos-sf-mc-publish-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;
}
.jos-sf-mc-publish-menu button:hover{background:var(--jos-brand-soft)}

.jos-sf-mc-tabs{
  display:flex;gap:4px;padding:0 20px;background:#fff;border-bottom:1px solid var(--jos-border);flex-shrink:0;overflow:auto;
}
.jos-sf-mc-tab{
  appearance:none;border:0;background:transparent;padding:14px 16px;font:inherit;font-size:13px;font-weight:700;
  color:var(--jos-ink-3);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;
}
.jos-sf-mc-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}

.jos-sf-mc-workspace{
  flex:1;min-height:0;display:flex;gap:0;overflow:hidden;
}
.jos-sf-mc-preview-wrap{
  flex:1;min-width:0;overflow:auto;padding:24px;background:linear-gradient(180deg,#eef1f5 0%,#f8f9fb 100%);
  display:flex;justify-content:center;align-items:flex-start;
}
.jos-sf-live-site{
  width:100%;max-width:960px;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(15,20,31,.12);
  overflow:hidden;position:relative;transition:max-width .25s ease,transform .25s ease;
  font-family:'DM Sans',system-ui,sans-serif;color:#0f172a;
}
.jos-sf-live-site.device-tablet{max-width:768px}
.jos-sf-live-site.device-mobile{max-width:390px}

.sf-live-nav{
  display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid #e5e7eb;cursor:pointer;
}
.sf-live-logo{font-weight:800;font-size:18px;color:#14532d}
.sf-live-logo em{font-style:normal;color:var(--jos-brand)}
.sf-live-nav nav{display:flex;gap:14px;margin-left:auto;font-size:12px;color:#64748b}
.sf-live-nav-cta{
  margin-left:12px;background:var(--sf-primary,#16a34a);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:700;font-size:12px;cursor:pointer;
}
.sf-live-hero{
  position:relative;min-height:320px;display:flex;align-items:center;padding:48px 32px;color:#fff;cursor:pointer;
}
.sf-live-hero.height-tall{min-height:380px}
.sf-live-hero-bg{
  position:absolute;inset:0;background:
    linear-gradient(rgba(0,0,0,var(--sf-overlay,.45)),rgba(0,0,0,var(--sf-overlay,.45))),
    url('https://images.unsplash.com/photo-1558904541-efa843a96f01?w=1200&q=80') center/cover;
}
.sf-live-hero-inner{position:relative;z-index:1;max-width:520px}
.sf-live-h1{margin:0;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.1;letter-spacing:-.03em}
.sf-live-sub{margin:12px 0 0;font-size:15px;line-height:1.5;opacity:.95}
.sf-live-hero-btns{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.sf-live-btn{border:0;border-radius:10px;padding:12px 18px;font-weight:750;font-size:13px;cursor:pointer}
.sf-live-btn.primary{background:var(--sf-primary,#16a34a);color:#fff}
.sf-live-btn.secondary{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.35)}
.sf-live-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.sf-live-badge{font-size:11px;font-weight:650;background:rgba(255,255,255,.12);padding:6px 10px;border-radius:999px;cursor:pointer;border:1px solid transparent}
.sf-live-section{padding:36px 28px;cursor:pointer}
.sf-live-section h2{margin:0 0 18px;font-size:22px;font-weight:800;letter-spacing:-.02em}
.sf-live-section.muted{background:#f8fafc}
.sf-live-svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.sf-live-svc{border:1px solid #e5e7eb;border-radius:14px;padding:16px;cursor:pointer;transition:box-shadow .15s}
.sf-live-svc:hover{box-shadow:0 8px 24px rgba(0,0,0,.06)}
.sf-live-svc-ico{font-size:22px;margin-bottom:8px}
.sf-live-svc h4{margin:0 0 6px;font-size:14px}
.sf-live-svc p{margin:0;font-size:12px;color:#64748b;line-height:1.4}
.sf-live-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:var(--sf-primary,#16a34a)}
.sf-live-reviews{display:grid;gap:12px}
.sf-live-review{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;cursor:pointer}
.sf-live-review .stars{color:#f59e0b;font-size:12px}
.sf-live-footer{padding:20px;text-align:center;font-size:12px;color:#64748b;border-top:1px solid #e5e7eb;cursor:pointer}
.sf-live-footer .hubly-mark{vertical-align:middle;margin-left:4px}
.sf-live-chat{
  position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;border:0;
  background:var(--jos-brand);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 8px 24px rgba(217,99,45,.35);
}
.is-selected{outline:2px solid var(--jos-brand)!important;outline-offset:2px}

.jos-sf-mc-panel{
  flex:0 0 var(--jos-sf-panel,380px);width:var(--jos-sf-panel,380px);background:#fff;border-left:1px solid var(--jos-border);
  overflow:auto;padding:0;display:flex;flex-direction:column;
}
.jos-sf-mc-ctx-head{padding:18px 20px 10px;border-bottom:1px solid var(--jos-border)}
.jos-sf-mc-ctx-head strong{font-size:15px;font-weight:800;color:var(--jos-navy)}
.jos-sf-mc-ctx-tabs{display:flex;gap:4px;padding:0 16px 12px;border-bottom:1px solid var(--jos-border)}
.jos-sf-mc-ctx-tab{
  appearance:none;border:0;background:transparent;padding:8px 12px;font:inherit;font-size:12px;font-weight:700;
  color:var(--jos-ink-3);cursor:pointer;border-radius:8px;
}
.jos-sf-mc-ctx-tab.on{background:var(--jos-brand-soft);color:var(--jos-brand)}
.jos-sf-mc-ctx-body{padding:16px 20px 24px;overflow:auto;flex:1}
.jos-sf-mc-field{display:grid;gap:6px;margin-bottom:12px}
.jos-sf-mc-field span{font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-sf-mc-field input,.jos-sf-mc-field textarea{
  font:inherit;padding:10px 12px;border:1px solid var(--jos-border);border-radius:10px;background:#fff;color:var(--jos-navy);
}
.jos-sf-mc-field textarea{min-height:72px;resize:vertical}
.jos-sf-mc-check{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--jos-navy)}
.jos-sf-mc-img{margin:12px 0}
.jos-sf-mc-img-thumb{height:100px;border-radius:12px;background:linear-gradient(135deg,#14532d,#166534);margin:8px 0}
.jos-sf-mc-badge-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.jos-sf-mc-badge-row .drag{opacity:.4;padding-top:28px}
.jos-sf-mc-sections{display:grid;gap:6px;margin-bottom:8px}
.jos-sf-mc-sec{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;appearance:none;border:1px solid var(--jos-border);
  background:#fff;border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;
}
.jos-sf-mc-sec.on{border-color:var(--jos-brand);background:var(--jos-brand-soft)}
.jos-sf-mc-sec.hidden-sec{opacity:.55}

.jos-sf-tabs{margin-bottom:12px}
.jos-sf-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.jos-sf-main{min-width:0}
.jos-sf-sidebar{position:sticky;top:12px}
.jos-sf-preview{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 14px;border:1px solid var(--jos-border);border-radius:12px;background:var(--jos-surface-2);margin-bottom:14px;
}
.jos-sf-preview-url{font-size:13px;font-weight:700;color:var(--jos-navy);word-break:break-all}
.jos-sf-preview-actions{display:flex;gap:8px;flex-wrap:wrap}
.jos-sf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.jos-sf-card{
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:14px;
  display:flex;flex-direction:column;gap:8px;min-height:120px;
}
.jos-sf-card.on{border-color:var(--jos-brand);box-shadow:0 0 0 2px rgba(217,99,45,.15)}
.jos-sf-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.jos-sf-card-h strong{font-size:14px;color:var(--jos-navy)}
.jos-sf-card-meta{font-size:12px;color:var(--jos-ink-2)}
.jos-sf-card-foot{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.jos-sf-form{display:grid;gap:12px;max-width:640px}
.jos-sf-form label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-sf-form input,.jos-sf-form textarea,.jos-sf-form select{
  border:1px solid var(--jos-border);border-radius:10px;padding:9px 11px;font:inherit;font-size:13px;
}
.jos-sf-form textarea{min-height:88px;resize:vertical}
.jos-sf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.jos-sf-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.jos-sf-gallery-item{
  border:1px solid var(--jos-border);border-radius:10px;overflow:hidden;background:var(--jos-surface-2);
  aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--jos-ink-3);padding:8px;text-align:center;
}
.jos-sf-review{
  border:1px solid var(--jos-border);border-radius:10px;padding:12px;background:#fff;
}
.jos-sf-review strong{display:block;font-size:13px;color:var(--jos-navy)}
.jos-sf-review .stars{color:#f59e0b;font-size:12px;margin:4px 0}
.jos-sf-modal{
  position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(15,20,31,.45);
}
.jos-sf-modal-panel{
  width:min(480px,100%);background:#fff;border-radius:14px;padding:18px;border:1px solid var(--jos-border);
  box-shadow:0 20px 60px rgba(15,20,31,.2);
}
.jos-sf-modal-panel h3{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--jos-navy)}
@media(max-width:1200px){
  #p-app.jos-pixel.jos-storefront-mode{--jos-sf-panel:320px}
  .jos-sf-mc-workspace{flex-direction:column}
  .jos-sf-mc-panel{flex:none;width:100%;max-height:42vh;border-left:0;border-top:1px solid var(--jos-border)}
}
@media(max-width:960px){
  .jos-sf-layout{grid-template-columns:1fr}
  .jos-sf-sidebar{position:relative;top:0}
}
@media(max-width:768px){
  #p-app.jos-pixel.jos-storefront-mode{--nav:0px}
  #p-app.jos-pixel.jos-storefront-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-storefront-mode .app-main{margin-left:0}
  .jos-sf-mc-toolbar{padding:10px 12px}
  .jos-sf-mc-url{display:none}
}

/* Marketing — Mission Control dashboard */
.jos-mkt-page{animation:josHomeIn .3s ease both;position:relative}
#p-app.jos-pixel.jos-marketing-mode{
  --jos-mkt-bg:#FAFAFC;
}
#p-app.jos-pixel.jos-marketing-mode .app-main{margin-left:var(--nav);background:var(--jos-mkt-bg)}
#p-app.jos-pixel.jos-marketing-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-marketing-mode #v-marketing.body,
#p-app.jos-pixel.jos-marketing-mode #jos-marketing-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:auto;background:var(--jos-mkt-bg);
}
#p-app.jos-pixel.jos-marketing-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-marketing-mode .ni.active{background:var(--jos-brand);box-shadow:none}

.jos-mkt-mc-shell{max-width:100%;width:100%;margin:0;padding:20px 16px 40px;box-sizing:border-box;overflow-x:hidden;min-height:100%}
.jos-mkt-mc-pad{padding:0}
.jos-mkt-mc-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:8px;flex-wrap:wrap;
}
.jos-mkt-mc-header h1,.jos-mkt-mc-subhead h1{
  margin:0;font-size:36px;font-weight:700;color:#202020;letter-spacing:-.03em;
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;line-height:1.1;
}
.jos-mkt-mc-header p,.jos-mkt-mc-subhead p{margin:8px 0 0;font-size:15px;color:#777;line-height:1.4}
.jos-mkt-mc-header-actions,.jos-mkt-mc-subhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.jos-mkt-mc-subhead{justify-content:space-between;margin-bottom:8px}
.jos-mkt-mc-range,.jos-mkt-mc-publish{
  height:52px;min-width:150px;padding:0 18px;border-radius:14px;background:#fff;border:1px solid #ECECEC;
  font-weight:650;color:#202020;
}
.jos-mkt-mc-range{width:220px;justify-content:space-between}
.jos-mkt-mc-new{height:52px;min-width:190px;border-radius:14px;padding:0 20px;font-weight:750}
.jos-mkt-mc-range-wrap{position:relative}
.jos-mkt-mc-range-menu{
  position:absolute;top:56px;left:0;z-index:30;min-width:220px;background:#fff;border:1px solid #ECECEC;
  border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.1);padding:6px;
}
.jos-mkt-mc-range-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;
}
.jos-mkt-mc-range-menu button:hover{background:var(--jos-brand-soft)}

.jos-mkt-mc-tabs{
  display:flex;gap:4px;height:52px;align-items:stretch;border-bottom:1px solid #ECECEC;margin:12px 0 24px;overflow:auto;
}
.jos-mkt-mc-tab{
  appearance:none;border:0;background:transparent;padding:0 24px;font:inherit;font-size:15px;font-weight:650;
  color:#888;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;
}
.jos-mkt-mc-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}

.jos-mkt-mc-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-bottom:24px}
.jos-mkt-mc-banner{
  display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;
  border-radius:12px;background:#FFF7ED;border:1px solid #FED7AA;
}
.jos-mkt-mc-banner .ico{
  width:22px;height:22px;border-radius:50%;background:#D9632D;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;
}
.jos-mkt-mc-banner p{margin:0;flex:1;font-size:13px;font-weight:600;color:#9A3412;line-height:1.45}
.jos-mkt-mc-kpi{
  appearance:none;border:1px solid #ECECEC;background:#fff;border-radius:18px;min-height:140px;padding:18px 20px;
  text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.04);
  display:flex;flex-direction:column;gap:6px;transition:transform .18s ease,box-shadow .18s ease;
}
.jos-mkt-mc-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.08)}
.jos-mkt-mc-kpi .lbl{font-size:13px;font-weight:650;color:#777}
.jos-mkt-mc-kpi strong{font-size:28px;font-weight:800;color:#202020;letter-spacing:-.03em}
.jos-mkt-mc-kpi .delta{font-size:12px;font-weight:700}
.jos-mkt-mc-kpi .delta.up{color:#16a34a}
.jos-mkt-mc-kpi .delta.muted{color:#94a3b8}
.jos-mkt-mc-kpi .status{font-size:12px;font-weight:700;color:var(--jos-brand)}
.jos-mkt-ring{position:relative;width:80px;height:80px;margin:4px 0}
.jos-mkt-ring svg{display:block}
.jos-mkt-ring .trk{fill:none;stroke:#F3E8E0;stroke-width:7}
.jos-mkt-ring .val{fill:none;stroke:var(--jos-brand);stroke-width:7;stroke-linecap:round}
.jos-mkt-ring strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#202020}
.jos-mkt-spark{margin-top:auto}

.jos-mkt-mc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}
.jos-mkt-mc-panel{
  background:#fff;border:1px solid #ECECEC;border-radius:18px;padding:20px;box-shadow:0 4px 14px rgba(0,0,0,.04);
  min-height:240px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;
}
.jos-mkt-mc-panel:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.07)}
.jos-mkt-mc-right{display:flex;flex-direction:column;gap:24px;min-width:0}
.jos-mkt-mc-panel.short{min-height:0;flex:1}

.jos-mkt-mc-camp-list,.jos-mkt-mc-perf-list,.jos-mkt-mc-cal-list,.jos-mkt-mc-auto-list{display:grid;gap:8px;margin-top:12px;flex:1}
.jos-mkt-mc-camp,.jos-mkt-mc-cal,.jos-mkt-mc-auto{
  appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;gap:12px;
  padding:10px 8px;border-radius:12px;cursor:pointer;text-align:left;font:inherit;min-height:64px;
}
.jos-mkt-mc-camp:hover,.jos-mkt-mc-cal:hover,.jos-mkt-mc-auto:hover{background:#F8F9FB}
.jos-mkt-mc-camp .ico{width:36px;height:36px;border-radius:50%;background:#FDF0E8;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.jos-mkt-mc-camp .body,.jos-mkt-mc-cal .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.jos-mkt-mc-camp strong,.jos-mkt-mc-cal strong,.jos-mkt-mc-auto strong{font-size:13px;font-weight:750;color:#202020}
.jos-mkt-mc-camp .jos-muted,.jos-mkt-mc-cal .jos-muted{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-mkt-mc-camp .clk{font-size:12px;font-weight:700;color:#777;white-space:nowrap}
.jos-mkt-badge{
  font-size:10px;font-weight:800;letter-spacing:.04em;padding:4px 8px;border-radius:999px;white-space:nowrap;
}
.jos-mkt-badge.ok{background:#DCFCE7;color:#15803D}
.jos-mkt-badge.quote{background:#FFEDD5;color:#C2410C}
.jos-mkt-badge.info{background:#DBEAFE;color:#1D4ED8}
.jos-mkt-badge.lost,.jos-mkt-badge.warn{background:#F1F5F9;color:#64748B}

.jos-mkt-mc-perf{display:grid;grid-template-columns:16px 1fr auto;gap:8px 10px;align-items:center;min-height:56px;padding:4px 0}
.jos-mkt-mc-perf .ico{color:var(--jos-brand);font-size:10px}
.jos-mkt-mc-perf .lbl{font-size:13px;font-weight:650;color:#444;grid-column:2}
.jos-mkt-mc-perf strong{font-size:13px;font-weight:800;color:#202020}
.jos-mkt-mc-perf .bar{grid-column:2 / -1;height:8px;background:#F3F4F6;border-radius:999px;overflow:hidden}
.jos-mkt-mc-perf .bar i{display:block;height:100%;border-radius:999px;animation:josMktBar .6s ease both}
@keyframes josMktBar{from{width:0!important}}

.jos-mkt-plat{font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;color:#fff;flex-shrink:0}
.jos-mkt-plat.li{background:#0A66C2}
.jos-mkt-plat.ig{background:#E1306C}
.jos-mkt-plat.em{background:var(--jos-brand)}
.jos-mkt-plat.fb{background:#1877F2}
.jos-mkt-plat.sms{background:#0F766E}

.jos-mkt-mc-foot{margin-top:12px;align-self:flex-start}
.jos-mkt-mc-help{margin-top:16px;padding-top:14px;border-top:1px solid #ECECEC}

.jos-mkt-mc-ai{
  display:flex;align-items:center;gap:20px;padding:24px 28px;border-radius:24px;min-height:180px;
  background:linear-gradient(135deg,#FFF7F2 0%,#FFE8D9 55%,#FFF9F5 100%);
  border:1px solid rgba(217,99,45,.25);box-shadow:0 8px 30px rgba(217,99,45,.1);flex-wrap:wrap;
}
.jos-mkt-mc-ai-ava{
  width:56px;height:56px;border-radius:50%;background:var(--jos-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;
}
.jos-mkt-mc-ai-body{flex:1;min-width:220px}
.jos-mkt-mc-ai-body strong{font-size:16px;color:#202020}
.jos-mkt-mc-tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.jos-mkt-mc-tip{
  appearance:none;border:1px solid #ECECEC;background:#fff;border-radius:14px;padding:12px;display:flex;gap:10px;
  text-align:left;cursor:pointer;font:inherit;transition:transform .15s;
}
.jos-mkt-mc-tip:hover{transform:translateY(-1px);border-color:var(--jos-brand)}
.jos-mkt-mc-tip .ico{width:28px;height:28px;border-radius:50%;background:#FDF0E8;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.jos-mkt-mc-tip strong{display:block;font-size:12px;font-weight:750;color:#202020}
.jos-mkt-mc-tip .jos-muted{font-size:11px}
.jos-mkt-mc-ai-cta{height:52px;padding:0 22px;border-radius:14px;font-weight:750;flex-shrink:0}
.jos-mkt-modal-lg{max-width:1000px;width:min(1000px,96vw);max-height:760px}

.jos-mkt-tabs{margin-bottom:12px;flex-wrap:wrap}
.jos-mkt-head{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.jos-mkt-title{font-size:18px;font-weight:800;margin:0 0 4px;color:var(--jos-navy)}
.jos-mkt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.jos-mkt-3col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.jos-mkt-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.jos-mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.jos-mkt-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.jos-mkt-act{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--jos-border);
}
.jos-mkt-act:last-child{border-bottom:0;padding-bottom:0}
.jos-mkt-act strong{font-size:13px;display:block;color:var(--jos-navy)}
.jos-mkt-metric{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 0;border-bottom:1px solid var(--jos-border);
}
.jos-mkt-metric:last-child{border-bottom:0}
.jos-mkt-cal{
  display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--jos-border);font-size:13px;
}
.jos-mkt-cal:last-child{border-bottom:0}
.jos-mkt-card{
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:14px;
  display:flex;flex-direction:column;gap:8px;min-height:100px;
}
.jos-mkt-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.jos-mkt-card-h strong{font-size:14px;color:var(--jos-navy)}
.jos-mkt-card-body{font-size:13px;margin:0;color:var(--jos-ink-2);line-height:1.45}
.jos-mkt-card-meta{font-size:11px;color:var(--jos-ink-3)}
.jos-mkt-card-foot{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.jos-mkt-ad-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.jos-mkt-auto{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;border-bottom:1px solid var(--jos-border);
}
.jos-mkt-auto:last-child{border-bottom:0}
.jos-mkt-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px}
.jos-mkt-form label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-mkt-form input,.jos-mkt-form textarea,.jos-mkt-form select{
  border:1px solid var(--jos-border);border-radius:10px;padding:9px 11px;font:inherit;font-size:13px;
}
.jos-mkt-span2{grid-column:1 / -1}
.jos-mkt-modal{
  position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(15,20,31,.45);
}
.jos-mkt-modal-panel{
  width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;
  padding:18px;border:1px solid var(--jos-border);box-shadow:0 20px 60px rgba(15,20,31,.2);
}
.jos-mkt-modal-panel h3{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--jos-navy)}
.jos-mkt-ai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.jos-mkt-ai-tile{
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:14px;
}
.jos-mkt-ai-tile h3{margin:0 0 6px;font-size:14px;font-weight:800;color:var(--jos-navy)}
@media(max-width:1200px){
  .jos-mkt-mc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jos-mkt-mc-grid{grid-template-columns:1fr 1fr}
  .jos-mkt-mc-right{grid-column:1 / -1;flex-direction:row}
  .jos-mkt-mc-tips{grid-template-columns:1fr}
}
@media(max-width:1100px){
  .jos-mkt-3col,.jos-mkt-2col{grid-template-columns:1fr}
  .jos-mkt-ad-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .jos-mkt-mc-shell{padding:24px 20px 32px}
  .jos-mkt-mc-header h1,.jos-mkt-mc-subhead h1{font-size:28px}
  .jos-mkt-mc-kpis,.jos-mkt-mc-grid{grid-template-columns:1fr}
  .jos-mkt-mc-right{flex-direction:column}
  .jos-mkt-mc-ai{flex-direction:column;align-items:stretch}
}
@media(max-width:720px){
  .jos-mkt-ad-kpis{grid-template-columns:1fr}
  .jos-mkt-form{grid-template-columns:1fr}
  #p-app.jos-pixel.jos-marketing-mode{--nav:0px}
  #p-app.jos-pixel.jos-marketing-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-marketing-mode .app-main{margin-left:0}
}

/* Reviews — Mission Control */
#p-app.jos-pixel.jos-reviews-mode{
  --jos-rev-bg:#F7F8FC;
}
#p-app.jos-pixel.jos-reviews-mode .app-main{margin-left:var(--nav);background:var(--jos-rev-bg)}
#p-app.jos-pixel.jos-reviews-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-reviews-mode #v-reviews.body,
#p-app.jos-pixel.jos-reviews-mode #jos-reviews-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:auto;background:var(--jos-rev-bg);
}
#p-app.jos-pixel.jos-reviews-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-reviews-mode .ni.active{background:var(--jos-brand);box-shadow:none}

.jos-rev-page{animation:josHomeIn .3s ease both;position:relative}
.jos-rev-mc-shell{
  max-width:100%;width:100%;min-width:0;margin:0;padding:16px 14px 24px;min-height:100%;
  background:var(--jos-rev-bg,#F7F8FC);box-sizing:border-box;overflow-x:hidden;
}
.jos-rev-mc-header{
  display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px;flex-wrap:wrap;margin-bottom:24px;
}
.jos-rev-mc-title{display:flex;align-items:center;gap:14px}
.jos-rev-mc-star{font-size:28px;line-height:1}
.jos-rev-mc-title h1{margin:0;font-size:26px;font-weight:700;color:#111827;letter-spacing:-.03em;font-family:'Plus Jakarta Sans','DM Sans',sans-serif}
.jos-rev-mc-title p{margin:8px 0 0;font-size:16px;font-weight:500;color:#6B7280;line-height:1.4}
.jos-rev-mc-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.jos-rev-mc-search-wrap{position:relative}
.jos-rev-mc-search{
  width:340px;height:44px;border:1px solid #E7EAF0;border-radius:12px;padding:0 14px 0 38px;font:inherit;font-size:14px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236B7280' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242 1.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") 12px center no-repeat;
}
.jos-rev-mc-range{height:44px;min-width:160px;border-radius:12px;border:1px solid #E7EAF0;background:#fff;font-weight:650}
.jos-rev-mc-range-wrap{position:relative}
.jos-rev-mc-range-menu{
  position:absolute;top:48px;right:0;z-index:40;min-width:180px;background:#fff;border:1px solid #E7EAF0;
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.1);padding:6px;
}
.jos-rev-mc-range-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;
}
.jos-rev-mc-range-menu button:hover{background:#FFF7ED}
.jos-rev-mc-req-btn{height:44px;min-width:180px;border-radius:12px;padding:0 18px;font-weight:700;background:#F97316;border-color:#F97316}
.jos-rev-mc-req-btn:hover{background:#EA580C;border-color:#EA580C}

.jos-rev-mc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.jos-rev-mc-kpi{
  appearance:none;border:1px solid #E7EAF0;background:#fff;border-radius:14px;min-height:110px;padding:14px 16px;
  text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:6px;
  transition:transform .2s ease-in-out,box-shadow .2s ease-in-out,border-color .2s;
}
.jos-rev-mc-kpi:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.08);border-color:#F97316}
.jos-rev-mc-kpi .lbl{font-size:14px;font-weight:600;color:#6B7280}
.jos-rev-mc-kpi strong{font-size:28px;font-weight:700;color:#111827;letter-spacing:-.03em;line-height:1}
.jos-rev-mc-kpi .sub{font-size:14px;font-weight:500;color:#6B7280}
.jos-rev-mc-kpi .delta{font-size:12px;font-weight:700}
.jos-rev-mc-kpi .delta.up{color:#22C55E}
.jos-rev-mc-kpi .ico{font-size:18px;color:#F59E0B}
.jos-rev-mc-kpi.tone-lav{background:linear-gradient(180deg,#F5F3FF 0%,#fff 55%)}
.jos-rev-mc-kpi.tone-blue{background:linear-gradient(180deg,#EFF6FF 0%,#fff 55%)}
.jos-rev-mc-kpi.tone-green{background:linear-gradient(180deg,#F0FDF4 0%,#fff 55%)}
.jos-rev-mc-kpi.tone-orange{background:linear-gradient(180deg,#FFF7ED 0%,#fff 55%)}
.jos-rev-mc-spark{margin-top:auto;height:28px;width:100%}

.jos-rev-mc-ai{
  display:grid;grid-template-columns:64px 1fr auto;gap:20px 28px;align-items:center;
  min-height:180px;padding:28px;border-radius:18px;background:#fff;border:1px solid #E7EAF0;
  box-shadow:0 10px 30px rgba(0,0,0,.04);margin-bottom:24px;
}
.jos-rev-mc-ai-badge{
  width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#7C3AED,#A855F7);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;
}
.jos-rev-mc-ai-copy strong{display:block;font-size:18px;font-weight:600;color:#111827;margin-bottom:8px}
.jos-rev-mc-ai-copy p{margin:0;font-size:16px;font-weight:500;color:#6B7280;line-height:1.5;max-width:850px}
.jos-rev-mc-ai-btns{display:flex;flex-direction:column;gap:12px;min-width:140px}
.jos-rev-mc-ai-outline{border:1px solid #7C3AED;color:#7C3AED;background:#fff;border-radius:12px;height:40px}
.jos-rev-mc-ai-purple{background:#7C3AED;border-color:#7C3AED;color:#fff;border-radius:12px;height:40px}

.jos-rev-mc-main{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;overflow-x:hidden;width:100%}
@media(min-width:1400px){.jos-rev-mc-main{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}}
.jos-rev-mc-main.full{grid-template-columns:1fr}
.jos-rev-mc-tabs{display:flex;gap:12px;flex-wrap:wrap;min-height:54px;align-items:center;margin-bottom:18px}
.jos-rev-mc-tab{
  appearance:none;border:1px solid #E7EAF0;background:#fff;border-radius:10px;padding:14px 24px;
  font:inherit;font-size:14px;font-weight:600;color:#6B7280;cursor:pointer;transition:all .2s ease-in-out;
}
.jos-rev-mc-tab.on{background:#F97316;border-color:#F97316;color:#fff}
.jos-rev-mc-tab:hover:not(.on){border-color:#F97316;color:#111827}

.jos-rev-mc-feed-list{display:grid;gap:18px}
.jos-rev-mc-feed{
  display:grid;grid-template-columns:72px minmax(0,1fr) 220px;gap:16px;align-items:center;
  min-height:140px;padding:22px;border-radius:18px;background:#fff;border:1px solid #E7EAF0;
  box-shadow:0 4px 14px rgba(0,0,0,.03);transition:transform .2s ease-in-out,box-shadow .2s,border-color .2s;cursor:pointer;
}
.jos-rev-mc-feed:hover{transform:translateY(-2px);border-color:#F97316;box-shadow:0 12px 28px rgba(249,115,22,.12)}
.jos-rev-mc-ava{
  width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,#141B2B,#D9632D);
}
.jos-rev-mc-feed-ava{appearance:none;border:0;background:transparent;padding:0;cursor:pointer}
.jos-rev-mc-feed-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.jos-rev-mc-name{appearance:none;border:0;background:transparent;padding:0;font-size:18px;font-weight:700;color:#111827;cursor:pointer}
.jos-rev-mc-stars-btn{appearance:none;border:0;background:transparent;padding:0;cursor:pointer}
.jos-rev-stars{color:#FACC15;font-size:14px;letter-spacing:1px}
.jos-rev-stars-dim{color:#E5E7EB}
.jos-rev-mc-date{font-size:12px;font-weight:600;color:#6B7280;margin-left:auto}
.jos-rev-mc-text{
  margin:0;font-size:16px;font-weight:500;color:#374151;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.jos-rev-mc-text.open{-webkit-line-clamp:unset;display:block}
.jos-rev-mc-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.jos-rev-mc-tag{
  appearance:none;border:0;background:#F3F4F6;color:#4B5563;border-radius:999px;padding:4px 10px;
  font-size:12px;font-weight:600;cursor:pointer;
}
.jos-rev-mc-tag:hover{background:#FFF7ED;color:#C2410C}
.jos-rev-mc-plat{font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;color:#fff}
.jos-rev-mc-plat.g{background:#4285F4}
.jos-rev-mc-plat.fb{background:#1877F2}
.jos-rev-mc-plat.yelp{background:#D32323}
.jos-rev-mc-plat.web{background:#7C3AED}
.jos-rev-mc-plat.hub{background:#F97316}
.jos-rev-mc-feed-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.jos-rev-mc-reply{height:40px;border-radius:12px;width:100%}
.jos-rev-mc-ai-btn{background:#7C3AED!important;border-color:#7C3AED!important;color:#fff!important;height:40px;border-radius:12px;width:100%}
.jos-rev-mc-cust{height:40px;border-radius:12px;width:100%}
.jos-rev-mc-more{
  width:44px;height:44px;border-radius:12px;border:1px solid #E7EAF0;background:#fff;align-self:center;
  font-size:20px;line-height:1;cursor:pointer;
}

.jos-rev-mc-side{position:sticky;top:24px;align-self:start}
.jos-rev-mc-side-card{
  background:#fff;border:1px solid #E7EAF0;border-radius:16px;padding:16px;box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.jos-rev-mc-side-compact h3{margin:0 0 4px;font-size:16px;font-weight:750;color:#141B2B}
.jos-rev-mc-side-lead{margin:0 0 12px;font-size:12px;line-height:1.4;color:#6B7280}
.jos-rev-mc-link-row{display:flex;gap:8px;margin-bottom:12px}
.jos-rev-mc-link-row input{
  flex:1;min-width:0;height:40px;border:1px solid #E7EAF0;border-radius:10px;padding:0 10px;font-size:12px;color:#141B2B;background:#F9FAFB;
}
.jos-rev-mc-side-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.jos-rev-mc-chip{
  appearance:none;border:1px solid #E7EAF0;background:#fff;border-radius:10px;height:38px;
  font:inherit;font-size:12px;font-weight:700;color:#141B2B;cursor:pointer;
}
.jos-rev-mc-chip:hover{border-color:#D9632D;color:#D9632D;background:#FFF7ED}
.jos-rev-mc-side-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
.jos-rev-mc-stat{
  appearance:none;border:1px solid #E7EAF0;background:#F9FAFB;border-radius:10px;padding:8px 6px;
  display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font:inherit;
}
.jos-rev-mc-stat strong{font-size:16px;font-weight:800;color:#141B2B;line-height:1.1}
.jos-rev-mc-stat span{font-size:10px;font-weight:650;color:#6B7280}
.jos-rev-mc-stat:hover{border-color:#D9632D;background:#FFF7ED}
.jos-rev-mc-more-tools{border-top:1px solid #F3F4F6;padding-top:8px;margin-top:4px}
.jos-rev-mc-more-tools summary{
  list-style:none;cursor:pointer;font-size:12px;font-weight:700;color:#6B7280;padding:4px 0;user-select:none;
}
.jos-rev-mc-more-tools summary::-webkit-details-marker{display:none}
.jos-rev-mc-more-tools summary::after{content:' ▾';opacity:.7}
.jos-rev-mc-more-tools[open] summary::after{content:' ▴'}
.jos-rev-mc-more-list{display:grid;gap:4px;margin-top:6px}
.jos-rev-mc-more-list button{
  appearance:none;border:0;background:transparent;text-align:left;padding:8px 6px;border-radius:8px;
  font:inherit;font-size:12px;font-weight:650;color:#141B2B;cursor:pointer;
}
.jos-rev-mc-more-list button:hover{background:#F3F4F6;color:#D9632D}
.jos-rev-mc-chart{width:100%;height:140px;display:block;margin-top:8px}
.jos-rev-mc-growth-f{display:flex;gap:4px}
.jos-rev-mc-gf{
  appearance:none;border:0;background:#F3F4F6;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;
}
.jos-rev-mc-gf.on{background:#D9632D;color:#fff}

.jos-rev-mc-pag{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #E7EAF0;
  font-size:14px;font-weight:500;color:#6B7280;
}
.jos-rev-mc-pag-btns{display:flex;gap:8px}
.jos-rev-mc-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.jos-rev-mc-filter{
  display:inline-flex;align-items:center;gap:6px;background:#FFF7ED;border:1px solid #FDBA74;border-radius:999px;
  padding:4px 10px;font-size:12px;font-weight:600;color:#C2410C;
}
.jos-rev-mc-filter button{appearance:none;border:0;background:transparent;cursor:pointer;font-size:14px;line-height:1}

.jos-rev-mc-overlay{
  position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.3);display:flex;justify-content:flex-end;
}
.jos-rev-mc-overlay[data-jos-rev-modal="1"]{justify-content:center;align-items:center;padding:24px}
.jos-rev-mc-drawer{
  width:min(620px,100vw);height:100%;background:#fff;box-shadow:-12px 0 40px rgba(0,0,0,.12);
  display:flex;flex-direction:column;animation:josRevSlide .2s ease-in-out;
}
.jos-rev-mc-drawer.wide{width:min(640px,100vw)}
@keyframes josRevSlide{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.jos-rev-mc-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #E7EAF0}
.jos-rev-mc-drawer-body{flex:1;overflow:auto;padding:20px 24px}
.jos-rev-mc-drawer-foot{display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid #E7EAF0}
.jos-rev-mc-close{appearance:none;border:0;background:#F3F4F6;width:36px;height:36px;border-radius:10px;font-size:22px;cursor:pointer}
.jos-rev-mc-modal{
  width:min(720px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);animation:josHomeIn .25s ease both;
}
.jos-rev-mc-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.jos-rev-mc-modal-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.jos-rev-mc-req-step h4{margin:0 0 12px;font-size:16px;font-weight:700}
.jos-rev-mc-req-custs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.jos-rev-mc-req-cust{
  appearance:none;border:1px solid #E7EAF0;background:#fff;border-radius:10px;padding:8px 12px;font:inherit;font-weight:600;cursor:pointer;
}
.jos-rev-mc-req-cust.on{border-color:#F97316;background:#FFF7ED}
.jos-rev-mc-channels{display:flex;flex-wrap:wrap;gap:8px}
.jos-rev-mc-ch{
  appearance:none;border:1px solid #E7EAF0;background:#fff;border-radius:10px;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;
}
.jos-rev-mc-ch.on{border-color:#F97316;background:#FFF7ED;color:#C2410C}
.jos-rev-mc-preview{background:#F9FAFB;border-radius:12px;padding:14px;font-size:14px;line-height:1.5;color:#374151}
.jos-rev-mc-select{width:100%;height:44px;border-radius:12px;border:1px solid #E7EAF0;padding:0 12px;font:inherit}

.jos-rev-mc-analytics{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.jos-rev-mc-panel{background:#fff;border:1px solid #E7EAF0;border-radius:18px;padding:20px;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.jos-rev-mc-panel h3{margin:0 0 14px;font-size:18px;font-weight:600}
.jos-rev-mc-req-table{display:grid;gap:8px}
.jos-rev-mc-req-head,.jos-rev-mc-req-row{display:grid;grid-template-columns:2fr repeat(3,48px) 80px;gap:8px;align-items:center;font-size:13px}
.jos-rev-mc-req-head{font-weight:700;color:#6B7280;padding:0 8px 8px;border-bottom:1px solid #E7EAF0}
.jos-rev-mc-req-row{padding:10px 8px;border:1px solid #E7EAF0;border-radius:12px;background:#fff}
.jos-rev-mc-plat-row{
  display:grid;grid-template-columns:40px 1fr auto auto auto;gap:12px;align-items:center;padding:12px;
  border:1px solid #E7EAF0;border-radius:12px;background:#fff;margin-bottom:8px;
}
.jos-rev-mc-plat-logo{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}
.jos-rev-mc-plat-logo.g{background:#4285F4}
.jos-rev-mc-plat-logo.fb{background:#1877F2}
.jos-rev-mc-plat-logo.yelp{background:#D32323}
.jos-rev-mc-plat-logo.web{background:#7C3AED}
.jos-rev-mc-plat-logo.hub{background:#F97316}

.jos-rev-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px}
.jos-rev-form label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-rev-form input,.jos-rev-form textarea,.jos-rev-form select{
  font:inherit;padding:8px 10px;border:1px solid var(--jos-border);border-radius:8px;
}
.jos-rev-span2{grid-column:1 / -1}
.jos-rev-bars{display:grid;gap:10px}
.jos-rev-bar-row{display:grid;grid-template-columns:80px 1fr 28px;gap:8px;align-items:center;font-size:12px}
.jos-rev-bar{height:8px;background:var(--jos-surface-3);border-radius:99px;overflow:hidden}
.jos-rev-bar i{display:block;height:100%;background:var(--jos-brand);border-radius:99px}

@media(max-width:1439px){
  .jos-rev-mc-main{grid-template-columns:minmax(0,1fr) minmax(220px,260px)}
}
@media(max-width:1199px){
  .jos-rev-mc-main,.jos-rev-mc-analytics{grid-template-columns:1fr}
  .jos-rev-mc-side{position:relative;top:0;max-width:420px}
  .jos-rev-mc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-rev-mc-ai{grid-template-columns:1fr}
  .jos-rev-mc-ai-btns{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:767px){
  .jos-rev-mc-shell{padding:20px 16px 32px}
  .jos-rev-mc-header-actions{width:100%}
  .jos-rev-mc-search{width:100%}
  .jos-rev-mc-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .jos-rev-mc-kpi{min-width:280px;scroll-snap-align:start;flex-shrink:0}
  .jos-rev-mc-feed{grid-template-columns:56px 1fr;grid-template-rows:auto auto}
  .jos-rev-mc-feed-actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}
  .jos-rev-mc-side{max-width:none;order:-1}
  .jos-rev-mc-side-compact{padding:14px}
  .jos-rev-mc-drawer{width:100vw}
  .jos-rev-form{grid-template-columns:1fr}
}

/* Memberships — Mission Control */
#p-app.jos-pixel.jos-memberships-mode{
  --jos-mem-bg:#F8F9FB;
}
#p-app.jos-pixel.jos-memberships-mode .app-main{margin-left:var(--nav);background:var(--jos-mem-bg)}
#p-app.jos-pixel.jos-memberships-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-memberships-mode #v-memberships.body,
#p-app.jos-pixel.jos-memberships-mode #jos-memberships-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:auto;background:var(--jos-mem-bg);
}
#p-app.jos-pixel.jos-memberships-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-memberships-mode .ni.active{background:var(--jos-brand);box-shadow:none}

.jos-mem-page{animation:josHomeIn .3s ease both;position:relative}
.jos-mem-mc-shell{
  max-width:1600px;margin:0 auto;padding:32px 40px 40px;min-height:100%;
  background:var(--jos-mem-bg,#F8F9FB);box-sizing:border-box;
}
.jos-mem-mc-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap;
}
.jos-mem-mc-header h1{
  margin:0;font-size:36px;font-weight:700;color:#111827;letter-spacing:-.03em;
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
.jos-mem-mc-header p{margin:8px 0 0;font-size:16px;font-weight:500;color:#6B7280;line-height:1.4;max-width:280px}
.jos-mem-mc-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.jos-mem-mc-secondary,.jos-mem-mc-ghost,.jos-mem-mc-primary,.jos-mem-mc-filter,.jos-mem-mc-start{
  height:44px;padding:0 20px;border-radius:12px;font-weight:650;
}
.jos-mem-mc-secondary{background:#fff;border:1px solid #E5E7EB;color:#111827}
.jos-mem-mc-ghost{background:transparent;border:1px solid #E5E7EB;color:#374151}
.jos-mem-mc-primary{background:#F97316;border-color:#F97316}

.jos-mem-mc-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:140px;padding:24px 8px;
  background:#fff;border:1px solid #ECECEC;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.05);
  margin-bottom:24px;animation:josHomeIn .25s ease both;
}
.jos-mem-mc-kpi{
  appearance:none;border:0;border-right:1px solid #F1F5F9;background:transparent;padding:8px 24px;
  text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:transform .15s ease;
}
.jos-mem-mc-kpi:last-child{border-right:0}
.jos-mem-mc-kpi:hover{transform:translateY(-2px)}
.jos-mem-mc-kpi .ico{
  width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;margin-bottom:4px;
}
.jos-mem-mc-kpi .ico.tone-orange{background:#FFF7ED;color:#F97316}
.jos-mem-mc-kpi .ico.tone-green{background:#ECFDF5;color:#10B981}
.jos-mem-mc-kpi .ico.tone-purple{background:#F5F3FF;color:#7C3AED}
.jos-mem-mc-kpi .ico.tone-blue{background:#EFF6FF;color:#2563EB}
.jos-mem-mc-kpi .lbl{font-size:13px;font-weight:600;color:#6B7280}
.jos-mem-mc-kpi strong{font-size:40px;font-weight:700;color:#111827;letter-spacing:-.03em;line-height:1.05}
.jos-mem-mc-kpi .delta{font-size:12px;font-weight:700;color:#10B981}
.jos-mem-mc-kpi .foot{font-size:12px;font-weight:500;color:#9CA3AF}

.jos-mem-mc-tabs{
  display:flex;align-items:center;gap:4px;min-height:56px;border-bottom:1px solid #E5E7EB;margin-bottom:16px;flex-wrap:wrap;
}
.jos-mem-mc-tab{
  appearance:none;border:0;background:transparent;padding:14px 18px;font:inherit;font-size:15px;font-weight:600;
  color:#6B7280;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;
}
.jos-mem-mc-tab.on{color:#F97316;border-bottom-color:#F97316;font-weight:700}
.jos-mem-mc-tab-actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.jos-mem-mc-filter{background:#fff;border:1px solid #E5E7EB}
.jos-mem-mc-start{background:#F97316;border-color:#F97316;color:#fff}

.jos-mem-mc-banner{
  display:flex;align-items:center;gap:12px;min-height:64px;padding:0 20px;margin-bottom:16px;
  background:#FFF7ED;border:1px solid #FED7AA;border-radius:14px;
}
.jos-mem-mc-banner .ico{
  width:28px;height:28px;border-radius:50%;background:#F97316;color:#fff;display:inline-flex;
  align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0;
}
.jos-mem-mc-banner p{margin:0;flex:1;font-size:14px;font-weight:500;color:#9A3412}
.jos-mem-mc-learn{appearance:none;border:0;background:transparent;color:#C2410C;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}

.jos-mem-mc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.jos-mem-mc-filters{display:flex;gap:10px}
.jos-mem-mc-filters select,.jos-mem-mc-pag select{
  height:40px;border:1px solid #E5E7EB;border-radius:12px;padding:0 12px;font:inherit;background:#fff;min-width:140px;
}
.jos-mem-mc-search{
  width:340px;height:40px;border:1px solid #E5E7EB;border-radius:12px;padding:0 14px;font:inherit;font-size:14px;background:#fff;
}

.jos-mem-mc-table-card{
  background:#fff;border:1px solid #ECECEC;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.05);overflow:hidden;
}
.jos-mem-mc-table{width:100%;border-collapse:collapse}
.jos-mem-mc-table thead th{
  height:56px;padding:0 16px;text-align:left;font-size:12px;font-weight:700;color:#6B7280;
  border-bottom:1px solid #F1F5F9;background:#FAFAFA;white-space:nowrap;
}
.jos-mem-mc-tr{height:72px;transition:background .15s}
.jos-mem-mc-tr:hover{background:#FAFAFA}
.jos-mem-mc-tr td{padding:12px 16px;border-bottom:1px solid #F3F4F6;vertical-align:middle;font-size:14px}
.jos-mem-mc-cust{
  appearance:none;border:0;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font:inherit;padding:0;
}
.jos-mem-mc-cust strong{display:block;font-size:16px;font-weight:700;color:#111827}
.jos-mem-mc-cust .jos-muted{font-size:13px}
.jos-mem-mc-ava{
  width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:13px;color:#fff;background:linear-gradient(135deg,#141B2B,#D9632D);flex-shrink:0;
}
.jos-mem-mc-pill{
  appearance:none;border:0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;
}
.jos-mem-mc-pill.ok{background:#D1FAE5;color:#047857}
.jos-mem-mc-pill.warn{background:#FEF3C7;color:#B45309}
.jos-mem-mc-pill.danger{background:#FEE2E2;color:#B91C1C}
.jos-mem-mc-pill.muted{background:#F3F4F6;color:#6B7280}
.jos-mem-mc-visits{min-width:110px}
.jos-mem-mc-visits span{font-size:12px;font-weight:650;color:#374151}
.jos-mem-mc-vbar{height:8px;background:#F3F4F6;border-radius:999px;overflow:hidden;margin-top:6px}
.jos-mem-mc-vbar i{display:block;height:100%;background:#F97316;border-radius:999px;transition:width .3s ease}
.jos-mem-mc-actions{position:relative}
.jos-mem-mc-act-wrap{display:inline-flex;align-items:center;gap:4px;position:relative}
.jos-mem-mc-chev{
  width:32px;height:32px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;cursor:pointer;
}
.jos-mem-mc-menu{
  position:absolute;top:36px;right:0;z-index:20;min-width:180px;background:#fff;border:1px solid #E5E7EB;
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:6px;
}
.jos-mem-mc-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;
}
.jos-mem-mc-menu button:hover{background:#FFF7ED}

.jos-mem-mc-pag{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 20px;border-top:1px solid #F1F5F9;font-size:13px;color:#6B7280;
}
.jos-mem-mc-pag-center{display:flex;align-items:center;gap:6px}
.jos-mem-mc-page{
  width:32px;height:32px;border:0;border-radius:8px;background:transparent;font:inherit;font-weight:700;cursor:pointer;
}
.jos-mem-mc-page.on{background:#F97316;color:#fff}

.jos-mem-mc-overlay{
  position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.3);display:flex;justify-content:flex-end;
}
.jos-mem-mc-overlay[data-jos-mem-modal="1"]{justify-content:center;align-items:center;padding:24px}
.jos-mem-mc-drawer{
  width:min(520px,100vw);height:100%;background:#fff;box-shadow:-12px 0 40px rgba(0,0,0,.12);
  display:flex;flex-direction:column;animation:josMemSlide .3s ease;
}
@keyframes josMemSlide{from{transform:translateX(28px);opacity:.5}to{transform:none;opacity:1}}
.jos-mem-mc-drawer-head{display:flex;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #E5E7EB}
.jos-mem-mc-drawer-body{flex:1;overflow:auto;padding:20px 24px}
.jos-mem-mc-drawer-foot{display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid #E5E7EB}
.jos-mem-mc-close{appearance:none;border:0;background:#F3F4F6;width:36px;height:36px;border-radius:10px;font-size:22px;cursor:pointer}
.jos-mem-mc-modal{
  width:min(640px,96vw);max-height:90vh;overflow:auto;background:#fff!important;border-radius:18px;padding:24px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);color:#141B2B!important;
}
.jos-mem-mc-modal h3{
  margin:0 0 8px;font-size:20px;font-weight:800;letter-spacing:-.02em;color:#141B2B!important;
}
.jos-mem-mc-modal > p,
.jos-mem-mc-modal > .jos-muted,
.jos-mem-mc-modal p.jos-muted{
  margin:0 0 16px;font-size:13px;line-height:1.45;color:#4A5160!important;
}
.jos-mem-mc-modal-foot{display:flex;gap:10px;margin-top:20px}
html[data-theme="night"] .jos-mem-mc-modal{
  background:#fff!important;color:#141B2B!important;
}
html[data-theme="night"] .jos-mem-mc-modal h3{color:#141B2B!important}
html[data-theme="night"] .jos-mem-mc-modal > p,
html[data-theme="night"] .jos-mem-mc-modal > .jos-muted,
html[data-theme="night"] .jos-mem-mc-modal p.jos-muted{color:#4A5160!important}
.jos-mem-mc-dsec{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #F3F4F6}
.jos-mem-mc-dsec h4{margin:0 0 12px;font-size:14px;font-weight:700;color:#111827}
.jos-mem-mc-drow{display:flex;gap:12px;align-items:center}
.jos-mem-mc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jos-mem-mc-meta-grid span{display:block;font-size:11px;font-weight:650;color:#6B7280}
.jos-mem-mc-meta-grid strong{font-size:14px;color:#111827}
.jos-mem-mc-ring-wrap{display:flex;gap:16px;align-items:center}
.jos-mem-mc-ring{
  --pct:50;width:96px;height:96px;border-radius:50%;
  background:conic-gradient(#F97316 calc(var(--pct) * 1%),#F3F4F6 0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;
}
.jos-mem-mc-ring::before{
  content:"";position:absolute;inset:8px;border-radius:50%;background:#fff;
}
.jos-mem-mc-ring strong,.jos-mem-mc-ring span{position:relative;z-index:1}
.jos-mem-mc-ring strong{font-size:14px}
.jos-mem-mc-ring span{font-size:10px;color:#6B7280}
.jos-mem-mc-tl{padding:10px 0;border-bottom:1px solid #F3F4F6}
.jos-mem-mc-tl strong{display:block;font-size:13px;color:#111827}
.jos-mem-mc-tl span{font-size:11px;color:#9CA3AF}
.jos-mem-mc-tl p{margin:4px 0 0;font-size:12px;color:#6B7280}
.danger{color:#EF4444!important}

.jos-mem-mc-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.jos-mem-mc-panel{
  background:#fff;border:1px solid #ECECEC;border-radius:18px;padding:20px;box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.jos-mem-mc-panel h3{margin:0 0 14px;font-size:18px;font-weight:700}
.jos-mem-mc-plan-row,.jos-mem-mc-visit-row{
  appearance:none;border:0;background:transparent;width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid #F3F4F6;text-align:left;font:inherit;cursor:pointer;
}
.jos-mem-mc-glance{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jos-mem-mc-glance li{display:flex;justify-content:space-between;font-size:14px}
.jos-mem-mc-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.jos-mem-mc-plan-card{
  background:#fff;border:1px solid #ECECEC;border-radius:18px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.jos-mem-mc-plan-h{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}
.jos-mem-mc-plan-h strong{font-size:16px;font-weight:800;color:#141B2B}
.jos-mem-mc-plan-h .jos-muted{color:#6B7280}
.jos-mem-mc-plan-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.jos-mem-mc-plan-body ul{margin:6px 0 0;padding-left:16px;font-size:12px;color:#6B7280}
.jos-mem-mc-bill-card{padding:12px 0;border-bottom:1px solid #F3F4F6}
.jos-mem-mc-bill-card p{margin:4px 0 0}

.jos-mem-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:680px}
.jos-mem-form label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#4A5160!important}
.jos-mem-form input,.jos-mem-form textarea,.jos-mem-form select{
  font:inherit;padding:8px 10px;border:1px solid #E5E7EB;border-radius:8px;
  background:#fff!important;color:#141B2B!important;
}
.jos-mem-form select[multiple]{min-height:96px}
.jos-mem-span2{grid-column:1 / -1}
html[data-theme="night"] .jos-mem-form label{color:#4A5160!important}
html[data-theme="night"] .jos-mem-form input,
html[data-theme="night"] .jos-mem-form textarea,
html[data-theme="night"] .jos-mem-form select{
  background:#fff!important;color:#141B2B!important;border-color:#E5E7EB;
}

@media(max-width:1100px){
  .jos-mem-mc-kpis{grid-template-columns:1fr 1fr}
  .jos-mem-mc-kpi{border-right:0;border-bottom:1px solid #F1F5F9}
  .jos-mem-mc-overview-grid{grid-template-columns:1fr}
  .jos-mem-mc-search{width:100%}
  .jos-mem-mc-table{display:block;overflow-x:auto}
}
@media(max-width:720px){
  .jos-mem-mc-shell{padding:20px 16px 32px}
  .jos-mem-mc-kpis{grid-template-columns:1fr}
  .jos-mem-form,.jos-mem-mc-plan-body,.jos-mem-mc-meta-grid{grid-template-columns:1fr}
  .jos-mem-mc-drawer{width:100vw}
}

/* Revenue OS */
.jos-rve-page{animation:josHomeIn .3s ease both;position:relative}
.jos-rve-tabs{margin-bottom:12px;flex-wrap:wrap}
.jos-rve-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.jos-rve-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.jos-rve-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.jos-rve-card{
  border:1px solid var(--jos-border);border-radius:16px;background:#fff;padding:16px 18px;
  display:flex;flex-direction:column;gap:12px;min-width:0;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.jos-rve-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.jos-rve-card-h strong{font-size:15px;color:var(--jos-navy)}
.jos-rve-card-who{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.jos-rve-card-who .jos-rve-cust{font-size:14px;font-weight:800;color:#141B2B}
.jos-rve-card-foot{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.jos-rve-money-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jos-rve-money-row div{
  background:#F9FAFB;border:1px solid #E5E7EB;border-radius:12px;
  padding:10px 12px;min-width:0;
}
.jos-rve-money-row span{
  display:block;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#6B7280;
}
.jos-rve-money-row strong{display:block;margin-top:4px;font-size:16px;font-weight:800;color:#141B2B}
.jos-rve-act{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--jos-border);
}
.jos-rve-act:last-child{border-bottom:0;padding-bottom:0}
.jos-rve-act strong{font-size:13px;color:var(--jos-navy)}
.jos-rve-stripe{
  display:grid;gap:4px;margin-top:10px;padding:12px;border:1px dashed rgba(217,99,45,.35);
  border-radius:12px;background:var(--jos-brand-soft);color:var(--jos-brand-dark);
}
.jos-rve-stripe strong{font-size:14px;color:var(--jos-brand-dark)}
.jos-rve-stripe span{font-size:12px;line-height:1.45}
.jos-rve-events{display:grid;gap:8px;max-height:520px;overflow:auto}
.jos-rve-event{
  border:1px solid var(--jos-border);border-radius:10px;padding:10px;background:#fff;
}
.jos-rve-event p{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--jos-ink-2)}
.jos-rve-event-type{font-weight:800;font-size:12px;color:var(--jos-navy)}
.jos-rve-event-payload{
  font-size:11px;margin:6px 0 0;white-space:pre-wrap;word-break:break-word;
  color:var(--jos-ink-2);background:var(--jos-surface-2);padding:8px;border-radius:6px;
}
.jos-rve-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px}
.jos-rve-form label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-rve-form input,.jos-rve-form textarea,.jos-rve-form select{
  font:inherit;padding:8px 10px;border:1px solid var(--jos-border);border-radius:8px;background:#fff;color:var(--jos-navy);
}
.jos-rve-span2{grid-column:1 / -1}
.jos-rve-modal{
  position:fixed;inset:0;background:rgba(15,20,31,.45);z-index:9000;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.jos-rve-modal-panel{
  background:#fff;border-radius:14px;padding:20px;max-width:680px;width:100%;
  max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(15,20,31,.2);
}
.jos-rve-modal-panel h3{margin:0 0 8px;font-size:16px;font-weight:800;color:var(--jos-navy)}
@media(max-width:1100px){
  .jos-rve-2col{grid-template-columns:1fr}
  .jos-rve-money-row{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .jos-rve-form,.jos-rve-money-row{grid-template-columns:1fr}
}

/* Revenue — Mission Control overlay */
#p-app.jos-pixel.jos-revenue-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-revenue-mode .app-main{margin-left:var(--nav);background:#F8F9FB}
#p-app.jos-pixel.jos-revenue-mode #jos-revenue-root{min-height:calc(100vh - 64px);overflow-y:auto}
#p-app.jos-pixel.jos-revenue-mode .jos-page{
  padding:32px!important;
  max-width:1440px!important;
  background:transparent!important;
}

.jos-rve-mc-shell{display:flex;flex-direction:column;gap:18px}
.jos-rve-mc-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:12px;flex-wrap:wrap;
}
.jos-rve-mc-head-left h1{margin:0;font-size:36px;font-weight:850;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-rve-mc-head-left p{margin:4px 0 0;font-size:14px;color:var(--jos-ink-2);max-width:52ch}
.jos-rve-mc-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.jos-rve-mc-btn-primary{background:var(--jos-brand)!important;border-color:var(--jos-brand)!important;color:#fff!important}

.jos-rve-mc-body{display:flex;flex-direction:column;gap:24px}

.jos-rve-mc-kpis{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;
  align-items:stretch;margin:0;padding:0 0 2px; /* room for hover lift / shadow */
}
.jos-rve-mc-kpi{
  appearance:none;border:1px solid var(--jos-border);border-radius:16px;
  background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04);
  padding:16px 16px;cursor:pointer;text-align:left;
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;
  column-gap:10px;row-gap:4px;align-content:start;
  min-height:0;overflow:visible;
  transition:transform .2s ease, box-shadow .2s ease;
}
.jos-rve-mc-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.06);z-index:1}
.jos-rve-mc-kpi .ico{
  grid-row:1 / span 3;align-self:start;
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:12px;background:var(--jos-surface-2);color:var(--jos-brand);font-weight:900;
}
.jos-rve-mc-kpi .lbl{font-size:12px;font-weight:850;color:var(--jos-ink-3);text-transform:uppercase;letter-spacing:.06em}
.jos-rve-mc-kpi .val{font-size:22px;font-weight:900;color:var(--jos-navy);display:block;line-height:1.05;margin-top:0}
.jos-rve-mc-kpi .delta{font-size:12px;font-weight:900;grid-column:2}
.jos-rve-mc-kpi .delta.up{color:#16a34a}
.jos-rve-mc-kpi .delta.down{color:#dc2626}
.jos-rve-mc-kpi .foot{display:none} /* keep KPI tiles compact so they don't collide with charts */

.jos-rve-mc-ov{display:flex;flex-direction:column;gap:24px;margin:0;padding-top:2px}
.jos-rve-mc-grid-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:18px;align-items:stretch;margin:0}
.jos-rve-mc-grid-bottom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:18px;align-items:stretch;margin:0}
.jos-rve-mc-card{min-height:0;height:100%}
.jos-rve-mc-sources{align-content:start}

.jos-rve-mc-card{
  border:1px solid var(--jos-border);
  border-radius:16px;background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
  padding:18px;
}
.jos-rve-mc-card.big{padding:18px}
.jos-rve-mc-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.jos-rve-mc-card-head h3{margin:0;font-size:16px;font-weight:900;color:var(--jos-navy)}
.jos-rve-mc-sub{font-size:12px;color:var(--jos-ink-2);margin-top:6px}
.jos-rve-mc-link{
  appearance:none;border:0;background:transparent;color:var(--jos-brand);cursor:pointer;font:inherit;font-size:12px;font-weight:900
}

.jos-rve-mc-linechart{height:220px;border-radius:12px;background:linear-gradient(180deg,rgba(249,115,22,.06),rgba(249,115,22,0))}
.jos-rve-mc-downloads{display:flex;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}

.jos-rve-mc-sources{display:grid;grid-template-columns:1fr;gap:10px}
.jos-rve-mc-donut{
  --donut:conic-gradient(#F97316 0 100%);
  width:190px;height:190px;margin:0 auto;border-radius:50%;
  background:var(--donut);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.jos-rve-mc-donut::after{
  content:'';position:absolute;inset:22px;border-radius:50%;background:#fff;border:1px solid var(--jos-border);
}
.jos-rve-mc-donut-center{
  position:relative;z-index:1;text-align:center;
  display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;
}
.jos-rve-mc-donut-center strong{font-size:18px;font-weight:950;color:var(--jos-navy)}
.jos-rve-mc-donut-center span{font-size:12px;color:var(--jos-ink-3);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.jos-rve-mc-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jos-rve-mc-legend li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--jos-ink-2)}
.jos-rve-mc-legend .dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:8px}
.jos-rve-mc-legend .val{font-weight:900;color:var(--jos-navy)}

.jos-rve-mc-tx-head{display:grid;grid-template-columns:1.2fr 1fr .6fr .8fr .9fr;gap:10px;font-size:12px;color:var(--jos-ink-3);font-weight:900;margin-bottom:10px}
.jos-rve-mc-tx-list{display:flex;flex-direction:column;gap:8px}
.jos-rve-mc-tx-row{
  display:grid;grid-template-columns:1.2fr 1fr .6fr .8fr .9fr;gap:10px;align-items:center;
  padding:10px 12px;border:1px solid var(--jos-border);border-radius:12px;background:#fff;
}
.jos-rve-mc-tx-row:hover{background:#FAFAFA}
.jos-rve-mc-tx-row .ico{color:var(--jos-brand);font-weight:900}
.jos-rve-mc-tx-empty{color:var(--jos-ink-3);font-size:13px;padding:12px 0}

.jos-rve-mc-stripe-box{padding:14px;border-radius:12px;border:1px dashed rgba(217,99,45,.35);background:var(--jos-brand-soft);color:var(--jos-brand-dark);display:grid;gap:8px}
.jos-rve-mc-stripe-stats{margin-top:12px;display:grid;gap:8px}
.jos-rve-mc-stripe-stats strong{color:var(--jos-navy)}

.jos-rve-mc-fab{
  position:fixed;right:28px;bottom:28px;width:56px;height:56px;border-radius:18px;
  border:1px solid var(--jos-brand);background:var(--jos-brand);color:#fff;
  box-shadow:0 10px 26px rgba(217,99,45,.28);
  cursor:pointer;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;
}

@media(max-width:980px){
  .jos-rve-mc-kpis{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}
  .jos-rve-mc-grid-top,.jos-rve-mc-grid-bottom{grid-template-columns:1fr}
}
@media(max-width:1100px) and (min-width:981px){
  .jos-rve-mc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:720px){
  .jos-rve-mc-tx-head,.jos-rve-mc-tx-row{grid-template-columns:1.3fr .9fr .7fr .8fr}
  .jos-rve-mc-tx-row .tx-amt{grid-column:1 / -1}
  .jos-rve-mc-fab{right:16px;bottom:16px}
}

/* Reports OS */
.jos-rpt-page{animation:josHomeIn .3s ease both;position:relative}
.jos-rpt-tabs{margin-bottom:12px;flex-wrap:wrap}
.jos-rpt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.jos-rpt-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.jos-rpt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.jos-rpt-widget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.jos-rpt-widget{
  border:1px solid var(--jos-border);border-radius:12px;background:var(--jos-surface-2);
  padding:12px;display:grid;gap:4px;min-width:0;
}
.jos-rpt-widget strong{font-size:20px;font-weight:850;color:var(--jos-navy);letter-spacing:-.03em}
.jos-rpt-widget span{font-size:12px;color:var(--jos-ink-2)}
.jos-rpt-rule{
  display:grid;gap:5px;border:1px dashed rgba(217,99,45,.4);border-radius:12px;
  background:var(--jos-brand-soft);color:var(--jos-brand-dark);padding:12px;
}
.jos-rpt-rule strong{font-size:14px;color:var(--jos-brand-dark)}
.jos-rpt-rule span{font-size:12px;line-height:1.45}
.jos-rpt-card{
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:14px;
  display:flex;flex-direction:column;gap:10px;min-width:0;
}
.jos-rpt-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.jos-rpt-card-h strong{font-size:14px;color:var(--jos-navy)}
.jos-rpt-card-foot{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.jos-rpt-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.jos-rpt-chip{
  background:var(--jos-surface-2);border:1px solid var(--jos-border);border-radius:10px;
  padding:8px;display:grid;gap:2px;min-width:0;
}
.jos-rpt-chip strong{font-size:14px;color:var(--jos-navy)}
.jos-rpt-chip span{font-size:11px;color:var(--jos-ink-2);line-height:1.35}
.jos-rpt-code{
  font-size:12px;color:var(--jos-ink-2);background:var(--jos-surface-2);
  border:1px solid var(--jos-border);border-radius:10px;padding:9px;word-break:break-word;
}
.jos-rpt-layout-preview{display:grid;gap:8px;min-height:70px}
.jos-rpt-layout-preview i{
  display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:10px;
  background:var(--jos-surface-2);border:1px solid var(--jos-border);color:var(--jos-ink-3);
  font-style:normal;font-size:12px;font-weight:800;
}
.jos-rpt-act{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--jos-border);
}
.jos-rpt-act:last-child{border-bottom:0;padding-bottom:0}
.jos-rpt-act strong{font-size:13px;color:var(--jos-navy)}
.jos-rpt-bar-row{display:grid;gap:6px}
.jos-rpt-bar{height:8px;background:var(--jos-surface-3);border-radius:99px;overflow:hidden}
.jos-rpt-bar i{display:block;height:100%;background:var(--jos-brand);border-radius:99px}
.jos-rpt-forecast-value{
  font-size:26px;font-weight:850;letter-spacing:-.04em;color:var(--jos-brand);
}
.jos-rpt-table-wrap{
  overflow:auto;border:1px solid var(--jos-border);border-radius:12px;background:#fff;
}
.jos-rpt-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.jos-rpt-table th,.jos-rpt-table td{padding:11px 12px;border-bottom:1px solid var(--jos-border);text-align:left;vertical-align:middle}
.jos-rpt-table th{
  font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--jos-ink-3);background:var(--jos-surface-2);
}
.jos-rpt-table tr:last-child td{border-bottom:0}
.jos-rpt-events{display:grid;gap:8px;max-height:520px;overflow:auto}
.jos-rpt-event{
  border:1px solid var(--jos-border);border-radius:10px;padding:10px;background:#fff;
}
.jos-rpt-event p{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--jos-ink-2)}
.jos-rpt-event-type{font-weight:800;font-size:12px;color:var(--jos-navy)}
.jos-rpt-event-payload{
  font-size:11px;margin:6px 0 0;white-space:pre-wrap;word-break:break-word;
  color:var(--jos-ink-2);background:var(--jos-surface-2);padding:8px;border-radius:6px;
}
.jos-rpt-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px}
.jos-rpt-form label{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--jos-ink-2)}
.jos-rpt-form input,.jos-rpt-form textarea,.jos-rpt-form select{
  font:inherit;padding:8px 10px;border:1px solid var(--jos-border);border-radius:8px;background:#fff;color:var(--jos-navy);
}
.jos-rpt-form select[multiple]{min-height:120px}
.jos-rpt-span2{grid-column:1 / -1}
.jos-rpt-modal{
  position:fixed;inset:0;background:rgba(15,20,31,.45);z-index:9000;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.jos-rpt-modal-panel{
  background:#fff;border-radius:14px;padding:20px;max-width:720px;width:100%;
  max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(15,20,31,.2);
}
.jos-rpt-modal-panel h3{margin:0 0 8px;font-size:16px;font-weight:800;color:var(--jos-navy)}
@media(max-width:1100px){
  .jos-rpt-2col{grid-template-columns:1fr}
}
@media(max-width:720px){
  .jos-rpt-form{grid-template-columns:1fr}
  .jos-rpt-grid{grid-template-columns:1fr}
}


/* Reports — Mission Control */
#p-app.jos-pixel.jos-reports-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-reports-mode .app-main{margin-left:var(--nav);background:#F7F8FA}
#p-app.jos-pixel.jos-reports-mode #jos-reports-root{min-height:calc(100vh - 64px);overflow-y:auto}
#p-app.jos-pixel.jos-reports-mode .jos-page{
  padding:32px!important;max-width:1440px!important;background:transparent!important;
}

.jos-rpt-mc-shell{display:flex;flex-direction:column;gap:20px}
.jos-rpt-mc-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.jos-rpt-mc-title-row{display:flex;align-items:center;gap:10px}
.jos-rpt-mc-title-row .ico{
  width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--jos-brand-soft);color:var(--jos-brand);font-weight:900;
}
.jos-rpt-mc-head-left h1{margin:0;font-size:36px;font-weight:850;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-rpt-mc-head-left p{margin:6px 0 0;font-size:14px;color:var(--jos-ink-2);max-width:54ch}
.jos-rpt-mc-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative}
.jos-rpt-mc-btn{height:44px;padding:0 20px;border-radius:12px;font-weight:750}
.jos-rpt-mc-export-wrap{position:relative}
.jos-rpt-mc-export-menu{
  position:absolute;right:0;top:calc(100% + 6px);min-width:140px;z-index:20;
  background:#fff;border:1px solid #ECECEC;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.08);
  display:grid;padding:6px;gap:2px;
}
.jos-rpt-mc-export-menu button{
  appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:700;color:var(--jos-navy);cursor:pointer;
}
.jos-rpt-mc-export-menu button:hover{background:#F7F8FA}

.jos-rpt-mc-body{display:flex;flex-direction:column;gap:20px}
.jos-rpt-mc-ov{display:flex;flex-direction:column;gap:20px}

.jos-rpt-mc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.jos-rpt-mc-kpi{
  appearance:none;border:1px solid #ECECEC;border-radius:16px;background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.04);padding:16px 18px;min-height:120px;cursor:pointer;text-align:left;
  display:flex;flex-direction:column;gap:4px;transition:transform .2s ease, box-shadow .2s ease;
}
.jos-rpt-mc-kpi:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.07)}
.jos-rpt-mc-kpi .ico{
  width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;margin-bottom:4px;
}
.jos-rpt-mc-kpi .ico.tone-green{background:#DCFCE7;color:#16A34A}
.jos-rpt-mc-kpi .ico.tone-blue{background:#DBEAFE;color:#2563EB}
.jos-rpt-mc-kpi .ico.tone-purple{background:#EDE9FE;color:#8B5CF6}
.jos-rpt-mc-kpi .ico.tone-yellow{background:#FEF3C7;color:#D97706}
.jos-rpt-mc-kpi .lbl{font-size:12px;font-weight:800;color:var(--jos-ink-3);text-transform:uppercase;letter-spacing:.05em}
.jos-rpt-mc-kpi .val{font-size:28px;font-weight:900;color:var(--jos-navy);letter-spacing:-.03em;line-height:1.1}
.jos-rpt-mc-kpi .delta{font-size:12px;font-weight:850}
.jos-rpt-mc-kpi .delta.up{color:#16A34A}
.jos-rpt-mc-kpi .foot{font-size:12px;color:var(--jos-ink-3)}

.jos-rpt-mc-ai{
  display:grid;grid-template-columns:1.5fr .7fr;gap:16px;align-items:center;
  min-height:160px;border-radius:16px;padding:20px 22px;
  border:1px solid rgba(249,115,22,.22);
  background:linear-gradient(135deg,#FFF7ED 0%,#FFF1E6 45%,#FFFFFF 100%);
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.jos-rpt-mc-ai-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.jos-rpt-mc-ai-head .spark{color:#F97316;font-weight:900}
.jos-rpt-mc-ai-head strong{font-size:16px;color:var(--jos-navy)}
.jos-rpt-mc-ai p{margin:0;font-size:14px;line-height:1.5;color:var(--jos-ink-2);max-width:70ch}
.jos-rpt-mc-ai-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.jos-rpt-mc-ai-chart{height:90px}

.jos-rpt-mc-grid-mid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:20px;align-items:stretch}
.jos-rpt-mc-grid-bot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}

.jos-rpt-mc-card{
  border:1px solid #ECECEC;border-radius:16px;background:#fff;padding:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:12px;min-width:0;
}
.jos-rpt-mc-card.wide{min-height:420px}
.jos-rpt-mc-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.jos-rpt-mc-card-head h3{margin:0;font-size:15px;font-weight:850;color:var(--jos-navy)}
.jos-rpt-mc-sub{font-size:12px;color:var(--jos-ink-2);margin-top:4px}
.jos-rpt-mc-select{
  height:36px;border:1px solid #ECECEC;border-radius:10px;background:#fff;padding:0 10px;font:inherit;font-size:12px;font-weight:700;color:var(--jos-navy);
}
.jos-rpt-mc-metric-row{display:flex;align-items:baseline;gap:10px}
.jos-rpt-mc-metric-row strong{font-size:28px;font-weight:900;color:var(--jos-navy);letter-spacing:-.03em}
.jos-rpt-mc-metric-row .delta{font-size:13px;font-weight:850;color:#16A34A}
.jos-rpt-mc-linechart{flex:1;min-height:220px;border-radius:12px;background:linear-gradient(180deg,rgba(249,115,22,.06),rgba(249,115,22,0));cursor:pointer}
.jos-rpt-mc-link{
  appearance:none;border:0;background:transparent;color:#F97316;cursor:pointer;font:inherit;font-size:12px;font-weight:850;text-align:left;padding:0;margin-top:auto;
}

.jos-rpt-mc-donut-wrap{display:grid;gap:12px;justify-items:center}
.jos-rpt-mc-donut{
  --donut:conic-gradient(#F97316 0 100%);
  width:160px;height:160px;border-radius:50%;background:var(--donut);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.jos-rpt-mc-donut.sm{width:140px;height:140px}
.jos-rpt-mc-donut::after{
  content:'';position:absolute;inset:20px;border-radius:50%;background:#fff;border:1px solid #ECECEC;
}
.jos-rpt-mc-donut.sm::after{inset:18px}
.jos-rpt-mc-donut-center{position:relative;z-index:1;text-align:center}
.jos-rpt-mc-donut-center strong{display:block;font-size:18px;font-weight:900;color:var(--jos-navy)}
.jos-rpt-mc-donut-center span{font-size:11px;font-weight:800;color:var(--jos-ink-3);text-transform:uppercase;letter-spacing:.06em}
.jos-rpt-mc-legend{list-style:none;margin:0;padding:0;width:100%;display:grid;gap:8px}
.jos-rpt-mc-legend li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--jos-ink-2)}
.jos-rpt-mc-legend .dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:8px}
.jos-rpt-mc-legend .val{font-weight:850;color:var(--jos-navy)}

.jos-rpt-mc-quick{display:grid;gap:8px}
.jos-rpt-mc-quick-row{
  appearance:none;border:1px solid #ECECEC;border-radius:12px;background:#fff;min-height:64px;
  display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;
  cursor:pointer;text-align:left;font:inherit;transition:background .15s ease;
}
.jos-rpt-mc-quick-row:hover{background:#FAFAFA}
.jos-rpt-mc-quick-row .ico{color:#F97316;font-weight:900}
.jos-rpt-mc-quick-row .meta{display:grid;gap:2px;min-width:0}
.jos-rpt-mc-quick-row .meta strong{font-size:13px;color:var(--jos-navy)}
.jos-rpt-mc-quick-row .num{font-size:15px;font-weight:900;color:var(--jos-navy)}
.jos-rpt-mc-quick-row .delta{font-size:12px;font-weight:850;color:#16A34A}

.jos-rpt-mc-services .jos-rpt-bar-row{padding:8px 0}
.jos-rpt-mc-recs{display:grid;gap:10px}
.jos-rpt-mc-rec{
  appearance:none;border:1px solid #ECECEC;border-radius:12px;background:#fff;padding:12px;
  display:grid;grid-template-columns:28px 1fr 16px;gap:10px;align-items:start;text-align:left;
  cursor:pointer;font:inherit;transition:background .15s ease, transform .2s ease;
}
.jos-rpt-mc-rec:hover{background:#FAFAFA;transform:translateY(-1px)}
.jos-rpt-mc-rec .ico{font-size:16px}
.jos-rpt-mc-rec strong{display:block;font-size:13px;color:var(--jos-navy);margin-bottom:3px}
.jos-rpt-mc-rec p{margin:0;font-size:12px;line-height:1.45;color:var(--jos-ink-2)}
.jos-rpt-mc-rec .arrow{color:var(--jos-ink-3);font-weight:900}

.jos-rpt-mc-drawer{
  position:fixed;inset:0;background:rgba(15,20,31,.35);z-index:9200;display:flex;justify-content:flex-end;
}
.jos-rpt-mc-drawer-panel{
  width:min(420px,100%);height:100%;background:#fff;border-left:1px solid #ECECEC;
  box-shadow:-12px 0 40px rgba(0,0,0,.08);padding:20px;overflow:auto;
}
.jos-rpt-mc-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.jos-rpt-mc-drawer-head h3{margin:0;font-size:18px;font-weight:850;color:var(--jos-navy)}
.jos-rpt-mc-drawer-body{display:grid;gap:12px}
.jos-rpt-mc-drawer-body label{display:grid;gap:6px;font-size:12px;font-weight:750;color:var(--jos-ink-2)}
.jos-rpt-mc-drawer-body input,.jos-rpt-mc-drawer-body select{
  height:44px;border:1px solid #ECECEC;border-radius:12px;padding:0 12px;font:inherit;background:#fff;color:var(--jos-navy);
}

@media(max-width:1100px){
  .jos-rpt-mc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-rpt-mc-grid-mid,.jos-rpt-mc-grid-bot,.jos-rpt-mc-ai{grid-template-columns:1fr}
}
@media(max-width:720px){
  .jos-rpt-mc-kpis{grid-template-columns:1fr}
  .jos-rpt-mc-quick-row{grid-template-columns:28px 1fr auto}
  .jos-rpt-mc-quick-row .delta{display:none}
}

/* Ask Hubly OS */
.jos-ah-page{animation:josHomeIn .3s ease both;position:relative;max-width:1160px}
.jos-ah-tabs{margin-bottom:12px;flex-wrap:wrap}
.jos-ah-body{display:grid;gap:14px}
.jos-ah-hero{max-width:none;margin-bottom:14px}
.jos-ah-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.jos-ah-kpi{
  background:#fff;border:1px solid var(--jos-border);border-radius:12px;padding:12px;min-width:0;
}
.jos-ah-kpi .v{font-size:20px;font-weight:850;color:var(--jos-brand);letter-spacing:-.03em}
.jos-ah-kpi .l{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--jos-ink-3);margin-top:2px}
.jos-ah-kpi span{display:block;font-size:12px;color:var(--jos-ink-2);margin-top:4px}
.jos-ah-chat-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:14px;align-items:start}
.jos-ah-thread{min-height:360px}
.jos-ah-messages{display:grid;gap:10px;margin-top:12px;max-height:520px;overflow:auto;padding-right:4px}
.jos-ah-msg{
  border:1px solid var(--jos-border);border-radius:12px;padding:10px 12px;background:var(--jos-surface-2);
  max-width:86%;
}
.jos-ah-msg.user{margin-left:auto;background:var(--jos-brand-soft);border-color:rgba(217,99,45,.25)}
.jos-ah-msg .role{
  font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--jos-ink-3);margin-bottom:4px;
}
.jos-ah-msg .txt{font-size:13px;line-height:1.45;color:var(--jos-navy);white-space:pre-wrap}
.jos-ah-ask-item{width:100%;text-align:left}
.jos-ah-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.jos-ah-pending-list,.jos-ah-log-list,.jos-ah-memory-list,.jos-ah-auto-list,.jos-ah-events{display:grid;gap:10px}
.jos-ah-pending{
  border:1px solid rgba(217,99,45,.28);background:var(--jos-brand-soft);border-radius:12px;padding:12px;
  display:grid;gap:10px;color:var(--jos-brand-dark);
}
.jos-ah-pending strong{color:var(--jos-brand-dark);font-size:14px}
.jos-ah-pending p{margin:4px 0 0;font-size:12px;line-height:1.45}
.jos-ah-pending pre,.jos-ah-event pre{
  margin:8px 0 0;white-space:pre-wrap;word-break:break-word;font-size:11px;
  background:rgba(255,255,255,.65);border:1px solid rgba(217,99,45,.18);border-radius:8px;padding:8px;color:var(--jos-navy);
}
.jos-ah-log,.jos-ah-auto{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--jos-border);border-radius:10px;padding:10px;background:#fff;
}
.jos-ah-log strong,.jos-ah-auto strong{font-size:13px;color:var(--jos-navy)}
.jos-ah-log span{display:block;font-size:11px;color:var(--jos-ink-3);margin-top:2px}
.jos-ah-memory,.jos-ah-event{
  border:1px solid var(--jos-border);border-radius:10px;padding:10px;background:#fff;
}
.jos-ah-memory p,.jos-ah-event p{margin:7px 0 0;font-size:12px;line-height:1.45;color:var(--jos-ink-2)}
.jos-ah-memory-add{display:flex;gap:8px;flex-wrap:wrap}
.jos-ah-memory-add input{flex:1;min-width:220px}
.jos-ah-memory-add input,.jos-ah-auto-form input,.jos-ah-auto-form select{
  font:inherit;padding:9px 11px;border:1px solid var(--jos-border);border-radius:8px;background:#fff;color:var(--jos-navy);
}
.jos-ah-auto-form{display:grid;gap:10px}
.jos-ah-auto-form label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--jos-ink-2)}
.jos-ah-event-type{font-weight:850;font-size:12px;color:var(--jos-navy)}
@media(max-width:1100px){
  .jos-ah-chat-layout,.jos-ah-2col{grid-template-columns:1fr}
}
@media(max-width:720px){
  .jos-ah-msg{max-width:100%}
  .jos-ah-memory-add{display:grid}
}


/* Ask Hubly — Mission Control */
#p-app.jos-pixel.jos-ask-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-ask-mode .app-main{margin-left:var(--nav);background:#F7F8FB}
#p-app.jos-pixel.jos-ask-mode #jos-ask-root{min-height:calc(100vh - 64px);overflow-y:auto}
#p-app.jos-pixel.jos-ask-mode .jos-page{
  padding:32px!important;max-width:1360px!important;background:transparent!important;
}
.jos-ah-page{max-width:none}

.jos-ah-mc-shell{display:flex;flex-direction:column;gap:20px}
.jos-ah-mc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.jos-ah-mc-head-left h1{margin:0;font-size:36px;font-weight:850;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-ah-mc-head-left p{margin:6px 0 0;font-size:14px;color:var(--jos-ink-2)}
.jos-ah-mc-body,.jos-ah-mc-ov{display:flex;flex-direction:column;gap:20px}

/* One Ask Hubly chat: brand head + thread + composer (no separate Conversation card) */
.jos-ah-mc-chat{
  min-width:0;min-height:520px;border-radius:22px;overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid #E5E7EB;background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}
.jos-ah-mc-chat-head{
  padding:22px 24px 18px;
  background:
    radial-gradient(circle at 88% 20%, rgba(249,115,22,.32), transparent 34%),
    linear-gradient(135deg,#0F172A 0%,#111827 52%,#1E293B 100%);
  color:#fff;
}
.jos-ah-mc-hero-brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.jos-ah-mc-hero-brand .hubly-mark{height:22px;width:auto}
.jos-ah-mc-hero-title{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.jos-ah-mc-hero-brand .spark{color:#F97316}
.jos-ah-mc-chat-head h2{margin:0;font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.jos-ah-mc-chat-head p{margin:8px 0 0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.68);max-width:48ch}
.jos-ah-mc-chat .jos-ah-mc-messages{
  flex:1;min-height:220px;max-height:none;overflow:auto;
  padding:18px 20px;gap:14px;background:linear-gradient(180deg,#FBFBFD 0%,#fff 40%);
}
.jos-ah-mc-chat-foot{
  padding:14px 18px 18px;border-top:1px solid #EEF0F4;
  background:#fff;display:flex;flex-direction:column;gap:12px;
}
.jos-ah-mc-prompt{
  display:flex;align-items:center;gap:10px;width:100%;
  height:56px;border-radius:16px;background:#F7F8FB;border:1px solid #E5E7EB;
  padding:6px 6px 6px 16px;
}
.jos-ah-mc-prompt:focus-within{border-color:rgba(217,99,45,.45);box-shadow:0 0 0 3px rgba(217,99,45,.12);background:#fff}
.jos-ah-mc-prompt input{
  flex:1;border:0;outline:none;background:transparent;font:inherit;font-size:14px;color:var(--jos-navy);
}
.jos-ah-mc-send{
  appearance:none;border:0;width:44px;height:44px;border-radius:12px;background:#D9632D;color:#fff;
  font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(217,99,45,.28);
}
.jos-ah-mc-chips{display:flex;flex-wrap:wrap;gap:8px}
.jos-ah-mc-chip{
  appearance:none;border:1px solid #E5E7EB;height:34px;padding:0 12px;border-radius:999px;
  background:#F7F8FB;color:var(--jos-navy);
  font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease;
}
.jos-ah-mc-chip:hover{background:#FFF7ED;border-color:rgba(217,99,45,.35);color:#9A3412}

.jos-ah-mc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.jos-ah-mc-kpi{
  appearance:none;border:1px solid #ECECEC;border-radius:18px;background:#fff;min-height:116px;
  padding:20px 22px;text-align:left;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.04);
  display:flex;flex-direction:column;gap:2px;transition:transform .2s ease, box-shadow .2s ease;
}
.jos-ah-mc-kpi:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.jos-ah-mc-kpi .ico{
  width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;margin-bottom:6px;
}
.jos-ah-mc-kpi .ico.tone-orange{background:#FFEDD5;color:#EA580C}
.jos-ah-mc-kpi .ico.tone-blue{background:#DBEAFE;color:#2563EB}
.jos-ah-mc-kpi .ico.tone-green{background:#DCFCE7;color:#16A34A}
.jos-ah-mc-kpi .ico.tone-purple{background:#EDE9FE;color:#8B5CF6}
.jos-ah-mc-kpi .val{font-size:28px;font-weight:900;color:var(--jos-navy);letter-spacing:-.03em}
.jos-ah-mc-kpi .lbl{font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--jos-ink-3)}
.jos-ah-mc-kpi .sub{font-size:12px;color:var(--jos-ink-2)}
.jos-ah-mc-kpi .delta{font-size:12px;font-weight:850;color:#16A34A}

.jos-ah-mc-grid-mid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:stretch}
.jos-ah-mc-grid-bot{display:grid;grid-template-columns:1.5fr 1.1fr .8fr;gap:20px;align-items:stretch}
.jos-ah-mc-card{
  border:1px solid #ECECEC;border-radius:20px;background:#fff;padding:18px 20px;
  box-shadow:0 6px 20px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:12px;min-width:0;
  transition:transform .2s ease, box-shadow .2s ease;
}
.jos-ah-mc-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.07)}
.jos-ah-mc-card.tall{min-height:520px}
.jos-ah-mc-side{height:100%}
.jos-ah-mc-card-head h3{margin:0;font-size:13px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--jos-ink-3)}

.jos-ah-mc-messages{display:grid;gap:12px;flex:1;overflow:auto;padding-right:4px}
.jos-ah-mc-msg{display:flex;gap:10px;align-items:flex-start}
.jos-ah-mc-msg.user{justify-content:flex-end}
.jos-ah-mc-msg .ava{
  width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#111827,#D9632D);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;flex-shrink:0;
}
.jos-ah-mc-msg .bubble{
  max-width:86%;border:1px solid #ECECEC;border-radius:16px;padding:12px 14px;background:#F8FAFC;color:var(--jos-navy);
}
.jos-ah-mc-msg.user .bubble{background:#FFF7ED;border-color:rgba(217,99,45,.25)}
.jos-ah-mc-msg .txt{font-size:14px;line-height:1.5;white-space:pre-wrap}

.jos-ah-mc-feed{display:grid;gap:8px}
.jos-ah-mc-feed-row{
  appearance:none;border:1px solid #ECECEC;border-radius:14px;background:#fff;min-height:56px;
  display:grid;grid-template-columns:22px 1fr auto 14px;gap:10px;align-items:center;padding:10px 12px;
  text-align:left;cursor:pointer;font:inherit;
}
.jos-ah-mc-feed-row:hover{background:#FAFAFA}
.jos-ah-mc-feed-row .ico{color:#F97316}
.jos-ah-mc-feed-row .meta{display:grid;gap:2px;min-width:0}
.jos-ah-mc-feed-row .meta strong{font-size:13px;color:var(--jos-navy)}
.jos-ah-mc-feed-row .stars{font-size:11px;color:#D97706}
.jos-ah-mc-feed-row .when{font-size:11px;color:var(--jos-ink-3);font-weight:700}
.jos-ah-mc-feed-row .chev{color:var(--jos-ink-3);font-weight:900}

.jos-ah-mc-insight{
  border:1px solid #ECECEC;border-radius:20px;background:#fff;padding:20px;
  box-shadow:0 6px 20px rgba(0,0,0,.04);display:grid;grid-template-columns:1.4fr .8fr;gap:16px;align-items:center;
}
.jos-ah-mc-insight p{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--jos-ink-2)}
.jos-ah-mc-link{
  appearance:none;border:0;background:transparent;color:#F97316;font:inherit;font-size:13px;font-weight:850;
  cursor:pointer;padding:0;margin-top:12px;
}
.jos-ah-mc-insight-chart{position:relative;min-height:110px;display:flex;align-items:flex-end;justify-content:center}
.jos-ah-mc-insight-chart .badge{
  position:absolute;top:8px;right:8px;background:#DCFCE7;color:#166534;border-radius:999px;
  padding:4px 10px;font-size:11px;font-weight:850;
}
.jos-ah-mc-insight-chart .bars{display:flex;align-items:flex-end;gap:8px;height:90px;width:100%;padding:0 8px}
.jos-ah-mc-insight-chart .bars i{
  display:block;flex:1;height:var(--h);border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#4ADE80,#22C55E);
}

.jos-ah-mc-actions{display:grid;gap:8px}
.jos-ah-mc-action{
  appearance:none;border:1px solid #ECECEC;border-radius:14px;background:#fff;min-height:64px;
  display:grid;grid-template-columns:28px 1fr 14px;gap:10px;align-items:center;padding:10px 12px;
  text-align:left;cursor:pointer;font:inherit;
}
.jos-ah-mc-action:hover{background:#FAFAFA}
.jos-ah-mc-action .ico{color:#F97316}
.jos-ah-mc-action .meta{display:grid;gap:2px;min-width:0}
.jos-ah-mc-action .meta strong{font-size:13px;color:var(--jos-navy)}
.jos-ah-mc-action .meta span{font-size:12px;color:var(--jos-ink-2)}
.jos-ah-mc-action .chev{color:var(--jos-ink-3);font-weight:900}

.jos-ah-mc-tip{display:grid;gap:10px}
.jos-ah-mc-tip .cal{font-size:28px}
.jos-ah-mc-tip p{margin:0;font-size:13px;line-height:1.45;color:var(--jos-ink-2)}

@media(max-width:1100px){
  .jos-ah-mc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-ah-mc-grid-mid,.jos-ah-mc-grid-bot,.jos-ah-mc-insight{grid-template-columns:1fr;display:grid}
  .jos-ah-mc-chat,.jos-ah-mc-card.tall{min-height:0}
  .jos-ah-mc-chat .jos-ah-mc-messages{min-height:200px;max-height:360px}
}
@media(max-width:720px){
  .jos-ah-mc-kpis{grid-template-columns:1fr}
  .jos-ah-mc-chat-head{padding:18px}
  .jos-ah-mc-prompt{height:52px}
  .jos-ah-mc-send{width:40px;height:40px;border-radius:11px}
}

/* Settings — screenshot-exact Mission Control */
#p-app.jos-pixel.jos-settings-mode{
  --jos-set-bg:#F8F9FC;
  --jos-set-brand:#D9632D;
}
#p-app.jos-pixel.jos-settings-mode .app-main{margin-left:var(--nav);background:var(--jos-set-bg)}
#p-app.jos-pixel.jos-settings-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-settings-mode #v-settings.jos-pixel-owned,
#p-app.jos-pixel.jos-settings-mode #jos-settings-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:auto;background:var(--jos-set-bg);
}
#p-app.jos-pixel.jos-settings-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-settings-mode .ni.active{background:var(--jos-set-brand);box-shadow:none}

.jos-set-page{animation:josHomeIn .3s ease both;position:relative;max-width:none}
.jos-set-mc-shell,.jos-set-shot{
  max-width:1400px;margin:0 auto;padding:24px 28px 48px;min-height:100%;
  background:var(--jos-set-bg,#F8F9FC);box-sizing:border-box;
  display:flex;flex-direction:column;gap:16px;
}
.jos-set-mc-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-bottom:4px;
}
.jos-set-mc-title{min-width:200px;flex:1 1 auto}
.jos-set-mc-title h1{
  margin:0;font-size:28px;font-weight:800;color:#141B2B;letter-spacing:-.03em;
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;line-height:1.15;
}
.jos-set-mc-title p{margin:6px 0 0;font-size:14px;font-weight:500;color:#4A5160;line-height:1.4;max-width:42rem}
.jos-set-top-actions,.jos-set-global-search,.jos-set-mc-head{display:none!important}
.jos-set-mc-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}
.jos-set-refresh{background:#fff;border:1px solid #E5E7EB}

.jos-set-tabs{margin:0;flex-wrap:wrap;gap:0;border-bottom:1px solid #E8EAF0;padding-bottom:0}
.jos-set-tabs .jos-tab{
  height:44px;padding:0 14px;border-radius:0;background:transparent;border:0;
  border-bottom:2px solid transparent;color:#4A5160;font-weight:650;font-size:13px;
}
.jos-set-tabs .jos-tab:hover{color:#141B2B}
.jos-set-tabs .jos-tab.on{color:var(--jos-set-brand);border-bottom-color:var(--jos-set-brand);background:transparent;font-weight:750}

.jos-set-mc-body{display:flex;flex-direction:column;gap:18px}
.jos-set-mc-ov{display:flex;flex-direction:column;gap:0}
.jos-set-mc-panel{
  background:#fff;border:1px solid #E8EAF0;border-radius:20px;padding:24px;
  box-shadow:0 8px 24px rgba(20,27,43,.05);display:flex;flex-direction:column;gap:22px;
}

.jos-set-mc-hero{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  min-height:150px;padding:8px 4px 4px;
}
.jos-set-mc-hero-left{max-width:720px;min-width:0}
.jos-set-mc-hero-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.jos-set-mc-hero-brand .hubly-mark{height:26px;width:auto}
.jos-set-mc-hero-brand .jos-kicker{letter-spacing:.08em;color:#9CA3AF;text-transform:uppercase;font-size:11px;font-weight:750}
.jos-set-mc-hero h2{margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.03em;color:#141B2B;line-height:1.2}
.jos-set-mc-hero p{margin:10px 0 0;font-size:14px;line-height:1.55;color:#6B7280;max-width:58ch}
.jos-set-mc-hero-art{width:200px;height:140px;position:relative;flex-shrink:0}
.jos-set-mc-hero-art .platform{
  position:absolute;inset:18px 20px 10px;border-radius:22px;
  background:linear-gradient(160deg,#FFF7F0 0%,#FFE8D6 45%,#FFF 100%);
  border:1px solid rgba(217,99,45,.18);box-shadow:0 18px 40px rgba(217,99,45,.12);
  animation:josSetFloat 3.8s ease-in-out infinite;
}
.jos-set-mc-hero-art .shield{
  position:absolute;left:50%;top:28%;width:54px;height:62px;transform:translateX(-50%);
  background:radial-gradient(circle at 50% 30%,#fff 0%,#FFE4CC 55%,#D9632D 100%);
  border-radius:28px 28px 22px 22px;box-shadow:0 8px 24px rgba(217,99,45,.35);
}
.jos-set-mc-hero-art .shield:after{
  content:"";position:absolute;inset:10px 14px 14px;border-radius:18px 18px 14px 14px;background:rgba(255,255,255,.55);
}
.jos-set-mc-hero-art .lock{
  position:absolute;left:50%;top:46%;width:16px;height:18px;transform:translate(-50%,-50%);
  border:2.5px solid #D9632D;border-radius:4px;background:#fff;z-index:1;
}
.jos-set-mc-hero-art .lock:before{
  content:"";position:absolute;left:50%;top:-9px;width:10px;height:10px;transform:translateX(-50%);
  border:2.5px solid #D9632D;border-bottom:0;border-radius:10px 10px 0 0;
}
.jos-set-mc-hero-art .gear{
  position:absolute;width:28px;height:28px;border-radius:50%;
  border:3px solid rgba(217,99,45,.55);background:rgba(255,255,255,.7);
  box-shadow:0 0 0 4px rgba(217,99,45,.08);
}
.jos-set-mc-hero-art .gear:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#D9632D;opacity:.85}
.jos-set-mc-hero-art .g1{right:18px;top:16px;animation:josSetSpin 9s linear infinite}
.jos-set-mc-hero-art .g2{left:16px;bottom:18px;width:22px;height:22px;animation:josSetSpin 12s linear infinite reverse}
@keyframes josSetFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes josSetSpin{to{transform:rotate(360deg)}}

.jos-set-mc-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.jos-set-mc-kpi{
  appearance:none;position:relative;display:flex;align-items:flex-start;gap:12px;text-align:left;
  min-height:92px;padding:16px 14px;border-radius:16px;background:#fff;
  border:1px solid #E8EAF0;box-shadow:0 4px 14px rgba(20,27,43,.04);cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;font:inherit;
}
.jos-set-mc-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,27,43,.08)}
.jos-set-mc-kpi-ico{
  width:40px;height:40px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;
  background:#F3F4F6;position:relative;
}
.jos-set-mc-kpi-ico:before{content:"";width:14px;height:14px;border-radius:4px;background:currentColor;opacity:.9}
.jos-set-mc-kpi.tone-purple .jos-set-mc-kpi-ico{background:#F3E8FF;color:#8B5CF6}
.jos-set-mc-kpi.tone-violet .jos-set-mc-kpi-ico{background:#EDE9FE;color:#7C3AED}
.jos-set-mc-kpi.tone-green .jos-set-mc-kpi-ico{background:#DCFCE7;color:#22C55E}
.jos-set-mc-kpi.tone-blue .jos-set-mc-kpi-ico{background:#DBEAFE;color:#2563EB}
.jos-set-mc-kpi.tone-amber .jos-set-mc-kpi-ico{background:#FEF3C7;color:#F59E0B}
.jos-set-mc-kpi.tone-red .jos-set-mc-kpi-ico{background:#FEE2E2;color:#EF4444}
.jos-set-mc-kpi-body{display:grid;gap:4px;min-width:0}
.jos-set-mc-kpi-body .lbl{font-size:11px;font-weight:750;color:#9CA3AF;text-transform:uppercase;letter-spacing:.05em}
.jos-set-mc-kpi-body strong{font-size:14px;font-weight:750;color:#141B2B;line-height:1.25}
.jos-set-mc-kpi.is-danger .jos-set-mc-kpi-body strong{color:#DC2626}
.jos-set-mc-live{
  display:inline-flex;align-self:start;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;
  background:#DCFCE7;color:#146C43;width:fit-content;
}

.jos-set-mc-mid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:stretch}
.jos-set-mc-card{
  background:#FAFBFC;border:1px solid #E8EAF0;border-radius:16px;padding:18px 20px;
  min-height:0;display:flex;flex-direction:column;gap:12px;
}
.jos-set-mc-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.jos-set-mc-card-head h3{
  margin:0;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#141B2B;
  display:inline-flex;align-items:center;gap:8px;
}
.jos-set-mc-hico{
  width:22px;height:22px;border-radius:8px;display:inline-grid;place-items:center;position:relative;
  background:#FFF7ED;color:var(--jos-set-brand);
}
.jos-set-mc-hico.rocket:before{
  content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-bottom:10px solid currentColor;display:block;
}
.jos-set-mc-hico.lock:before{
  content:"";width:8px;height:9px;border:2px solid currentColor;border-radius:2px;display:block;background:#fff;
}
.jos-set-mc-hico.lock:after{
  content:"";position:absolute;top:3px;width:6px;height:5px;border:2px solid currentColor;border-bottom:0;border-radius:6px 6px 0 0;
}
.jos-set-mc-hico.ask:before{
  content:"✦";font-size:12px;font-weight:800;line-height:1;color:currentColor;
}
.jos-set-mc-feature-list{display:grid;gap:10px}
.jos-set-mc-feature{
  display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#374151;line-height:1.4;
}
.jos-set-mc-feature .mark{
  width:22px;height:22px;border-radius:50%;background:#22C55E;color:#fff;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;
}
.jos-set-mc-config-only{
  margin-top:auto;padding:14px;border:1.5px dashed #D1D5DB;border-radius:12px;
  font-size:13px;color:#6B7280;background:#fff;
}
.jos-set-mc-askcard{background:linear-gradient(160deg,#FFF9F5 0%,#fff 55%);border-color:rgba(217,99,45,.22)}
.jos-set-mc-ask-lead{margin:0;font-size:14px;line-height:1.5;color:#4B5563}
.jos-set-mc-ask-open{
  appearance:none;border:0;background:transparent;color:var(--jos-set-brand);font:inherit;font-size:12px;font-weight:750;cursor:pointer;
}
.jos-set-ask-preview-list{display:grid;gap:8px}
.jos-set-ask-preview{
  appearance:none;border:1px solid #E8EAF0;border-radius:12px;background:#fff;padding:12px 14px;text-align:left;cursor:pointer;font:inherit;
  display:grid;gap:4px;transition:border-color .15s,box-shadow .15s;
}
.jos-set-ask-preview:hover{border-color:rgba(217,99,45,.35);box-shadow:0 8px 18px rgba(217,99,45,.08)}
.jos-set-ask-preview strong{font-size:13px;color:#141B2B}
.jos-set-ask-preview span{font-size:12px;color:#6B7280;line-height:1.4}

.jos-set-ask-dock{position:fixed;right:28px;bottom:28px;z-index:13000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.jos-set-ask-fab{
  appearance:none;border:0;height:52px;padding:0 18px 0 14px;border-radius:999px;cursor:pointer;font:inherit;
  display:inline-flex;align-items:center;gap:10px;background:#141B2B;color:#fff;font-weight:750;font-size:14px;
  box-shadow:0 14px 32px rgba(20,27,43,.28);transition:transform .15s ease,box-shadow .15s ease;
}
.jos-set-ask-fab:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(20,27,43,.34)}
.jos-set-ask-fab .spark{
  width:28px;height:28px;border-radius:50%;background:var(--jos-set-brand);display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;box-shadow:0 6px 14px rgba(217,99,45,.4);
}
.jos-set-ask-panel{
  width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid #E8EAF0;border-radius:18px;
  box-shadow:0 22px 48px rgba(20,27,43,.18);padding:14px;display:grid;gap:10px;
  animation:josHomeIn .25s ease both;
}
.jos-set-ask-panel[hidden]{display:none!important}
.jos-set-ask-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.jos-set-ask-brand{display:flex;align-items:center;gap:8px}
.jos-set-ask-brand .hubly-mark{height:18px;width:auto}
.jos-set-ask-brand strong{font-size:13px;color:#141B2B}
.jos-set-ask-x{appearance:none;border:0;background:#F3F4F6;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:16px;color:#6B7280}
.jos-set-ask-thread{display:grid;gap:8px;max-height:240px;overflow:auto;padding-right:2px}
.jos-set-ask-msg{border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45}
.jos-set-ask-msg.assistant{background:#F8FAFC;border:1px solid #E8EAF0;color:#141B2B}
.jos-set-ask-msg.user{background:#FFF7ED;border:1px solid rgba(217,99,45,.25);color:#141B2B;justify-self:end;max-width:90%}
.jos-set-ask-msg .role{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#9CA3AF;margin-bottom:4px}
.jos-set-ask-chips{display:flex;flex-wrap:wrap;gap:6px}
.jos-set-ask-chip{
  appearance:none;border:1px solid #E5E7EB;background:#fff;border-radius:999px;padding:6px 10px;
  font:inherit;font-size:11px;font-weight:650;color:#141B2B;cursor:pointer;
}
.jos-set-ask-chip:hover{background:#F9FAFB;border-color:rgba(217,99,45,.35)}
.jos-set-ask-compose{display:flex;align-items:center;gap:8px;background:#F8FAFC;border:1px solid #E8EAF0;border-radius:12px;padding:4px 4px 4px 12px}
.jos-set-ask-compose input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:13px;min-width:0}
.jos-set-ask-send{width:40px;height:40px;border-radius:10px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.jos-set-ask-full{
  appearance:none;border:0;background:transparent;color:var(--jos-set-brand);font:inherit;font-size:12px;font-weight:750;
  cursor:pointer;justify-self:start;padding:0;
}

.jos-set-mc-banner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  min-height:96px;padding:18px 22px;border-radius:16px;
  background:linear-gradient(105deg,#FFF7F0 0%,#FFE8D6 55%,#FFF4EB 100%);
  border:1px solid rgba(217,99,45,.28);
}
.jos-set-mc-banner-copy{display:flex;align-items:flex-start;gap:14px}
.jos-set-mc-banner-copy .spark{
  width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;
  background:var(--jos-set-brand);color:#fff;font-size:16px;box-shadow:0 8px 20px rgba(217,99,45,.35);
}
.jos-set-mc-banner-copy strong{display:block;font-size:16px;font-weight:800;color:#141B2B}
.jos-set-mc-banner-copy p{margin:4px 0 0;font-size:13px;color:#6B7280}
.jos-set-mc-banner-btn{height:44px;border-radius:12px;padding:0 18px;font-weight:750}

.jos-set-hero{
  display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:16px;
  background:linear-gradient(135deg,#f7f8fb 0%,#fff7f2 55%,#ffffff 100%);
  border:1px solid var(--jos-border);
}
.jos-set-hero .hubly-mark{height:28px;width:auto;margin-top:4px}
.jos-set-hero h2{margin:4px 0 6px;font-size:22px;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-set-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.jos-set-tile{
  text-align:left;border:1px solid var(--jos-border);border-radius:12px;padding:12px 14px;background:#fff;cursor:pointer;
}
.jos-set-tile strong{display:block;margin-top:4px;font-size:15px;color:var(--jos-navy)}
.jos-set-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.jos-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.jos-set-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jos-set-form label,.jos-set-auto-form label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--jos-ink-2)}
.jos-set-form input,.jos-set-form select{
  font:inherit;padding:9px 11px;border:1px solid var(--jos-border);border-radius:8px;background:#fff;color:var(--jos-navy);
}
.jos-set-span2{grid-column:1 / -1}
.jos-set-rows{display:grid;gap:8px}
.jos-set-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--jos-border)}
.jos-set-row:last-child{border-bottom:0}
.jos-set-badge{font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:#eef2f7;color:var(--jos-navy)}
.jos-set-badge.ok{background:#e8f7ef;color:#146c43}
.jos-set-badge.warn{background:#fff4e8;color:#9a4b12}
.jos-set-badge.info{background:#eef2f7}
.jos-set-card{border:1px solid var(--jos-border);border-radius:12px;padding:12px;background:#fff;display:grid;gap:8px}
.jos-set-card-h{display:flex;justify-content:space-between;gap:8px;align-items:center}
.jos-set-integ-wrap .jos-set-integ-lead{
  margin:8px 0 0;font-size:14px;line-height:1.45;color:var(--jos-ink-2);font-weight:550;
}
.jos-set-integ-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;
}
.jos-set-integ-card{
  border:1px solid var(--jos-border);border-radius:16px;padding:16px;background:#fff;
  display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 18px rgba(20,27,43,.04);
}
.jos-set-integ-top{display:flex;align-items:flex-start;gap:12px}
.jos-set-integ-logo{
  width:44px;height:44px;border-radius:12px;background:#F4F5F7;border:1px solid #E8EAED;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.jos-set-integ-logo[data-brand="stripe"]{background:#F6F5FF}
.jos-set-integ-logo[data-brand="google"]{background:#FFF}
.jos-set-integ-logo[data-brand="meta"]{background:#Eef4ff}
.jos-set-integ-logo[data-brand="twilio"]{background:#FFF0F2}
.jos-set-integ-logo[data-brand="resend"]{background:#F3F4F6}
.jos-set-integ-copy{flex:1;min-width:0}
.jos-set-integ-copy strong{
  display:block;font-size:16px;font-weight:800;color:#141B2B;letter-spacing:-.02em;line-height:1.2;
}
.jos-set-integ-copy span{
  display:block;margin-top:3px;font-size:12px;font-weight:650;color:#4A5160;
}
.jos-set-integ-note{
  margin:0;font-size:13px;line-height:1.4;color:#4A5160;font-weight:500;
}
.jos-set-integ-setup{
  display:grid;gap:10px;padding-top:8px;border-top:1px solid var(--jos-border);
}
.jos-set-integ-setup label{
  display:grid;gap:4px;font-size:11px;font-weight:800;color:#141B2B;text-transform:uppercase;letter-spacing:.04em;
}
.jos-set-integ-setup input{
  height:40px;border:1px solid var(--jos-border);border-radius:10px;padding:0 12px;
  font:inherit;font-size:13px;font-weight:600;color:#141B2B;background:#fff;
}
.jos-set-pay-wrap .jos-set-integ-lead{margin:8px 0 0}
.jos-set-pay-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;
}
.jos-set-pay-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;
  padding:14px 14px;border:1.5px solid var(--jos-border);border-radius:14px;background:#fff;
  cursor:pointer;font:inherit;color:#141B2B;transition:border-color .15s,background .15s,box-shadow .15s;
}
.jos-set-pay-opt:hover{border-color:#D9632D;box-shadow:0 4px 14px rgba(217,99,45,.08)}
.jos-set-pay-opt.on{
  border-color:#D9632D;background:color-mix(in srgb,#D9632D 8%,#fff);
  box-shadow:0 0 0 3px rgba(217,99,45,.12);
}
.jos-set-pay-opt strong{font-size:14px;font-weight:800;letter-spacing:-.01em}
.jos-set-pay-opt span{font-size:12px;font-weight:550;color:#4A5160;line-height:1.35}
.jos-set-pay-deposit{display:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--jos-border);gap:10px}
.jos-set-pay-deposit.on{display:grid}
.jos-set-pay-dep-row{display:flex;flex-wrap:wrap;gap:8px}
.jos-set-pay-chip{
  border:1.5px solid var(--jos-border);background:#fff;border-radius:999px;padding:8px 12px;
  font:inherit;font-size:12px;font-weight:750;color:#141B2B;cursor:pointer;
}
.jos-set-pay-chip.on{border-color:#D9632D;background:color-mix(in srgb,#D9632D 10%,#fff);color:#9a3412}
.jos-set-pay-dep-val,.jos-set-pay-msg{
  display:grid;gap:6px;font-size:11px;font-weight:800;color:#141B2B;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;
}
.jos-set-pay-dep-val input,.jos-set-pay-msg textarea{
  font:inherit;font-size:14px;font-weight:600;text-transform:none;letter-spacing:0;
  padding:10px 12px;border:1.5px solid var(--jos-border);border-radius:10px;background:#fff;color:#141B2B;width:100%;box-sizing:border-box;
}
.jos-set-pay-msg span{font-weight:600;text-transform:none;letter-spacing:0;color:#6B7280}
.jos-jobs-cal-full{margin-top:4px}
.jos-jobs-cal-toolbar{margin-bottom:12px;gap:12px;flex-wrap:wrap}
.jos-jobs-cal-title{margin:0;font-size:20px;font-weight:800;color:var(--jos-navy);letter-spacing:-.02em}
.jos-set-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.jos-set-kpis div{border:1px solid var(--jos-border);border-radius:10px;padding:10px;background:#fafbfc}
.jos-set-kpis span{display:block;font-size:11px;color:var(--jos-ink-2)}
.jos-set-kpis strong{font-size:18px;color:var(--jos-navy)}
.jos-set-toggles{display:grid;gap:8px}
.jos-set-toggle{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--jos-border);font-size:13px;color:var(--jos-navy)}
.jos-set-list{margin:8px 0 0;padding-left:18px;color:var(--jos-ink-2);font-size:13px;line-height:1.5}
.jos-set-brand-preview{display:flex;gap:10px;align-items:center}
.jos-set-brand-preview .hubly-mark{height:26px;width:auto}
.jos-set-events{display:grid;gap:8px}
.jos-set-event{display:flex;justify-content:space-between;gap:8px;font-size:12px}
@media(max-width:1200px){
  .jos-set-mc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
  .jos-set-2col,.jos-set-form,.jos-set-mc-mid{grid-template-columns:1fr}
  .jos-set-mc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-set-mc-hero{flex-direction:column;align-items:flex-start}
  .jos-set-mc-hero-art{width:100%;height:120px}
}
@media(max-width:980px){
  .jos-set-mc-shell,.jos-set-shot{padding:16px 14px 28px}
  .jos-set-global-search{order:3;width:100%;max-width:none;flex:1 1 100%;margin:0}
  .jos-set-top-actions{width:100%;margin-left:0}
  #p-app.jos-pixel.jos-settings-mode{--nav:0px}
  #p-app.jos-pixel.jos-settings-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-settings-mode .app-main{margin-left:0}
}
@media(max-width:720px){
  .jos-set-hero{flex-direction:column}
  .jos-set-kpis,.jos-set-mc-kpis{grid-template-columns:1fr}
  .jos-set-mc-title h1{font-size:28px}
  .jos-set-mc-head-left h2{font-size:22px}
  .jos-set-mc-banner{padding:16px}
  .jos-set-ask-dock{right:14px;bottom:14px}
  .jos-set-ask-fab span:last-child{display:none}
  .jos-set-ask-fab{width:52px;height:52px;padding:0;justify-content:center;border-radius:50%}
  .jos-set-ask-fab .spark{margin:0}
}

/* ── Home Command Center (v2) ── */
.jos-home-v2.jos-page{
  max-width:1440px;padding:24px;padding-bottom:96px;
  background:
    radial-gradient(1200px 480px at 12% -10%, rgba(217,99,45,.08), transparent 55%),
    radial-gradient(900px 420px at 90% 0%, rgba(20,27,43,.05), transparent 50%),
    var(--jos-surface-2);
}
.jos-home-v2 .jos-hcard{
  position:relative;
  background:#fff;
  border:1px solid var(--jos-card-border);
  border-radius:var(--jos-card-radius);
  box-shadow:var(--jos-card-shadow);
  padding:16px 18px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  animation:josHomeIn .4s ease both;
}
.jos-home-v2 .jos-hcard.jos-command-card{
  background:linear-gradient(160deg,#161C2C 0%,#1A2233 48%,#241820 100%)!important;
  color:#fff;
  border:0;
  box-shadow:0 16px 40px rgba(15,23,42,.28);
}
.jos-home-v2 .jos-hcard.jos-command-card:hover{
  border-color:transparent;
  box-shadow:0 18px 48px rgba(15,23,42,.34);
}
.jos-home-v2 .jos-hcard:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 40px rgba(0,0,0,.08);
  border-color:rgba(217,99,45,.28);
  cursor:pointer;
}
.jos-home-v2 .jos-hcard.jos-dragging{opacity:.55;transform:scale(.98)}
.jos-home-v2 .jos-card-title{margin:4px 0 0;font-size:16px;font-weight:800;color:var(--jos-navy);letter-spacing:-.02em}
.jos-wmenu{position:absolute;top:10px;right:10px;z-index:4}
.jos-wmenu-btn{
  appearance:none;border:0;background:transparent;width:28px;height:28px;border-radius:8px;
  color:var(--jos-ink-3);font-size:18px;line-height:1;cursor:pointer;
}
.jos-wmenu-btn:hover{background:var(--jos-surface-3);color:var(--jos-navy)}
.jos-wmenu-pop{
  position:absolute;right:0;top:30px;min-width:168px;background:#fff;
  border:1px solid var(--jos-border);border-radius:12px;padding:6px;
  box-shadow:0 16px 40px rgba(15,23,42,.14);
}
.jos-wmenu-pop button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;
  padding:8px 10px;border-radius:8px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-wmenu-pop button:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}

.jos-home-hero{
  min-height:90px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  margin-bottom:var(--jos-gap);padding:8px 4px 4px;flex-wrap:wrap;
  animation:josHeroIn .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes josHeroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.jos-home-hero h1{
  margin:0;font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.035em;color:#141B2B;
}
.jos-home-hero-biz{margin:6px 0 0;font-size:15px;font-weight:750;color:var(--jos-brand)}
.jos-home-site{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;max-width:100%;
}
.jos-home-site-link{
  appearance:none;border:1px solid var(--jos-card-border);background:#fff;border-radius:10px;
  padding:7px 10px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:inherit;
  max-width:min(420px,100%);min-width:0;box-shadow:var(--jos-card-shadow);
}
.jos-home-site-link:hover{border-color:rgba(217,99,45,.45)}
.jos-home-site-live{
  flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#15803D;background:rgba(21,128,61,.1);padding:3px 6px;border-radius:6px;
}
.jos-home-site-url{
  font-size:13px;font-weight:700;color:var(--jos-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.jos-home-hero-motivation{margin:6px 0 0;font-size:13px;color:var(--jos-ink-2);max-width:52ch}
.jos-home-hero-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.jos-home-weather{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;
  background:#fff;border:1px solid var(--jos-card-border);box-shadow:var(--jos-card-shadow);
  font-size:12px;font-weight:650;color:var(--jos-ink-2);
}
.jos-home-weather-temp{font-size:18px;font-weight:800;color:var(--jos-navy)}
.jos-home-date{font-size:13px;font-weight:700;color:var(--jos-ink-2)}

.jos-home-kpi-row{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jos-gap);margin-bottom:var(--jos-gap);
}
.jos-home-v2 .jos-kpi-card{min-height:150px;padding:0;overflow:hidden}
.jos-home-v2 .jos-kpi-hit{
  width:100%;min-height:150px;appearance:none;border:0;background:transparent;text-align:left;
  padding:16px 18px 14px;cursor:pointer;font:inherit;color:inherit;display:block;
}
.jos-home-v2 .jos-kpi-card .lbl{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--jos-ink-3)}
.jos-home-v2 .jos-kpi-card .v{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy);margin-top:6px}
.jos-home-v2 .jos-kpi-card .s{font-size:12px;color:#15803D;margin-top:4px;font-weight:650}
.jos-home-v2 .jos-kpi-lines{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:6px;font-size:11px;color:var(--jos-ink-2);font-weight:650}
.jos-home-v2 .jos-kpi-cta{display:inline-block;margin-top:8px;font-size:12px;font-weight:750;color:var(--jos-brand)}
.jos-home-v2 .jos-kpi-quote{color:var(--jos-ink-2)!important;font-weight:600!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.jos-home-row-cc{
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);gap:var(--jos-gap);margin-bottom:var(--jos-gap);
}
.jos-command-card{min-height:350px;display:flex;flex-direction:column;background:
  linear-gradient(160deg,#161C2C 0%,#1A2233 48%,#241820 100%);color:#fff;border:0}
.jos-command-card .jos-kicker{color:#FDBA74}
.jos-command-card h2{margin:6px 0 6px;font-size:22px;font-weight:800;letter-spacing:-.03em;color:#fff}
.jos-command-card .jos-muted{color:rgba(255,255,255,.78)}
.jos-command-card .jos-empty-action strong{color:#fff}
.jos-command-card .jos-empty-action p{color:rgba(255,255,255,.75)}
.jos-command-card .jos-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff}
.jos-command-card .jos-btn-brand{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-command-card .jos-wmenu-btn{color:rgba(255,255,255,.7)}
.jos-command-card .jos-wmenu-btn:hover{background:rgba(255,255,255,.12);color:#fff}
.jos-cc-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;padding-right:28px}
.jos-cc-list{display:grid;gap:8px;flex:1;overflow:auto;max-height:210px;padding-right:2px}
.jos-cc-row{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
  animation:josCcIn .45s ease both;
}
.jos-cc-row:nth-child(2){animation-delay:.05s}
.jos-cc-row:nth-child(3){animation-delay:.1s}
.jos-cc-row:nth-child(4){animation-delay:.15s}
@keyframes josCcIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.jos-cc-idx{
  width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;background:rgba(217,99,45,.25);color:#FFD3B8;
}
.jos-cc-title{font-size:13px;font-weight:700;line-height:1.35;color:#fff}
.jos-cc-meta{font-size:11px;color:rgba(255,255,255,.62);margin-top:2px}
.jos-cc-chat{
  display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);
}
.jos-cc-chat input{
  flex:1;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.2);color:#fff;
  border-radius:12px;padding:11px 14px;font:inherit;font-size:13px;outline:none;
}
.jos-cc-chat input::placeholder{color:rgba(255,255,255,.45)}
.jos-today-card{min-height:350px;display:flex;flex-direction:column}
.jos-today-timeline{margin-top:12px;display:grid;gap:0;flex:1;overflow:auto;max-height:260px}
.jos-today-item{
  display:grid;grid-template-columns:56px 12px minmax(0,1fr) auto;gap:10px;align-items:start;
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:12px 4px;
  border-bottom:1px solid var(--jos-border);cursor:pointer;font:inherit;color:inherit;
  scroll-snap-align:start;
}
.jos-today-item:hover{background:var(--jos-brand-soft);border-radius:10px}
.jos-today-time{font-size:12px;font-weight:800;color:var(--jos-brand)}
.jos-today-dot{
  width:10px;height:10px;border-radius:50%;background:var(--jos-brand);margin-top:4px;
  box-shadow:0 0 0 4px rgba(217,99,45,.15);
}
.jos-today-body .who{font-size:13px;font-weight:750;color:var(--jos-navy)}
.jos-today-body .svc{font-size:12px;color:var(--jos-ink-2);margin-top:2px}

.jos-home-row-3{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(240px,.75fr);
  gap:var(--jos-gap);margin-bottom:var(--jos-gap);
}
.jos-leads-card,.jos-revsum-card,.jos-score-card{min-height:320px}

/* Per-KPI icon colors, matching the dashboard mockup's visual language
   (each metric gets its own color, not one uniform brand-orange square). */
.jos-kpi-ico-orange{background:var(--jos-brand-soft);color:var(--jos-brand)}
.jos-kpi-ico-green{background:rgba(34,197,94,.14);color:#15803D}
.jos-kpi-ico-blue{background:rgba(37,99,235,.12);color:#2563EB}
.jos-kpi-ico-purple{background:rgba(124,58,237,.12);color:#7C3AED}
.jos-kpi-ico-amber{background:rgba(245,158,11,.14);color:#B45309}

/* Compact Business Score ring KPI card (4th headline KPI, mockup's
   design) -- the full expandable detail card (.jos-score-card) stays
   exactly as it was; this is a summary/entry point to it, not a
   replacement. */
.jos-kpi-card-score .jos-kpi-hit{display:flex;flex-direction:column}
.jos-kpi-score-body{display:flex;align-items:center;gap:12px;margin-top:8px}
.jos-score-ring.sm{width:52px;height:52px}
.jos-score-ring.sm::before{inset:5px}
.jos-score-ring.sm span{font-size:15px}
.jos-kpi-score-side{display:flex;flex-direction:column;gap:2px}
.jos-kpi-score-side strong{font-size:14px;font-weight:800;color:var(--jos-navy)}

/* Rating -- demoted from a headline KPI to a secondary strip (kept on the
   page, not removed; see renderHomeDashboard's homeRatingStrip). */
.jos-rating-strip{padding:0;overflow:hidden;margin-bottom:var(--jos-gap)}
.jos-rating-strip-hit{
  width:100%;display:flex;align-items:center;gap:14px;appearance:none;border:0;background:transparent;
  padding:14px 18px;cursor:pointer;font:inherit;color:inherit;text-align:left;
}
.jos-rating-strip-body{flex:1;min-width:0}
.jos-rating-strip-top{display:flex;align-items:baseline;gap:8px}
.jos-rating-strip-top strong{font-size:20px;font-weight:800;color:var(--jos-navy)}
.jos-rating-strip-quote{font-size:12px;color:var(--jos-ink-2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Recent Jobs + Jobs by Status -- new, additive row (mockup's ideas,
   layered in without removing anything already shipped). */
.jos-home-row-jobs{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.75fr);
  gap:var(--jos-gap);margin-bottom:var(--jos-gap);
}
.jos-jobstatus-card{min-height:220px}
.jos-table-wrap{overflow:auto;margin-top:12px;max-height:240px}
.jos-home-table{width:100%;border-collapse:collapse;font-size:12px}
.jos-home-table th{
  text-align:left;padding:8px 6px;color:var(--jos-ink-3);font-size:10px;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--jos-border);position:sticky;top:0;background:#fff;
}
.jos-home-table td{padding:10px 6px;border-bottom:1px solid var(--jos-border);color:var(--jos-ink-2);vertical-align:middle}
.jos-linkish{
  appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:750;color:var(--jos-navy);cursor:pointer;
}
.jos-linkish:hover{color:var(--jos-brand)}
.jos-chip-row{display:flex;gap:6px;flex-wrap:wrap}
.jos-chip{
  appearance:none;border:1px solid var(--jos-border);background:var(--jos-surface-2);color:var(--jos-ink-2);
  border-radius:999px;padding:5px 10px;font:inherit;font-size:11px;font-weight:750;cursor:pointer;
}
.jos-chip.on{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-rev-chart-btn{width:100%;appearance:none;border:0;background:transparent;padding:8px 0 0;cursor:pointer;text-align:left}
.jos-rev-chart{width:100%;height:auto;display:block}
.jos-rev-bar{fill:rgba(217,99,45,.18)}
.jos-rev-chart-btn:hover .jos-rev-bar{fill:rgba(217,99,45,.32)}
.jos-rev-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.jos-rev-stats span{display:block;font-size:11px}
.jos-rev-stats strong{display:block;margin-top:2px;font-size:15px;color:var(--jos-navy)}
.jos-score-ring-wrap{display:flex;gap:14px;align-items:center;margin:12px 0}
.jos-score-ring{
  --jos-pct:78;width:88px;height:88px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(var(--jos-brand) calc(var(--jos-pct) * 1%), var(--jos-surface-3) 0);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.jos-score-ring::before{content:'';position:absolute;inset:8px;border-radius:50%;background:#fff}
.jos-score-ring span{position:relative;font-size:22px;font-weight:800;color:var(--jos-navy)}
.jos-score-metrics{display:grid;gap:4px}
.jos-score-metric{border-radius:10px;border:1px solid transparent}
.jos-score-metric.open{border-color:rgba(217,99,45,.25);background:var(--jos-brand-soft)}
.jos-score-metric-btn{
  width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;
  appearance:none;border:0;background:transparent;padding:8px 8px;border-radius:10px;
  font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-2);cursor:pointer;
}
.jos-score-metric-btn:hover{background:var(--jos-surface-2)}
.jos-score-metric-btn strong{color:var(--jos-navy);font-weight:800}
.jos-score-tip{padding:0 10px 10px;font-size:12px;color:var(--jos-ink-2)}
.jos-score-tip p{margin:0 0 8px}

.jos-quick-card{min-height:90px}
.jos-quick-row{display:flex;gap:8px;overflow:auto;margin-top:12px;padding-bottom:4px}
.jos-quick-btn{
  appearance:none;border:1px solid var(--jos-border);background:var(--jos-surface-2);
  border-radius:12px;padding:12px 14px;font:inherit;font-size:12px;font-weight:750;color:var(--jos-navy);
  cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:transform .15s,border-color .15s,background .15s;
}
.jos-quick-btn:hover{transform:translateY(-2px);border-color:rgba(217,99,45,.4);background:var(--jos-brand-soft)}

.jos-empty-action{padding:22px 12px;text-align:center}
.jos-empty-action strong{display:block;font-size:15px;color:var(--jos-navy);margin-bottom:6px}
.jos-empty-action p{margin:0 0 12px;font-size:13px;color:var(--jos-ink-2)}
.jos-btn-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.jos-layout-presets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.jos-profile-pop{
  position:fixed;z-index:13000;width:220px;background:#fff;border:1px solid var(--jos-border);
  border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);padding:8px;display:none;
}
.jos-profile-pop.open{display:block;animation:josHomeIn .18s ease both}
.jos-profile-pop button{
  width:100%;text-align:left;appearance:none;border:0;background:transparent;
  padding:10px 12px;border-radius:10px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-profile-pop button:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}

.jos-home-fab,.jos-home-fab-sheet{display:none}
@media(max-width:1100px){
  .jos-home-kpi-row{grid-template-columns:1fr 1fr!important}
  .jos-home-row-cc,.jos-home-row-3,.jos-home-row-jobs{grid-template-columns:1fr}
}
@media(max-width:720px){
  .jos-home-v2.jos-page{padding:16px 14px 110px}
  .jos-home-kpi-row{grid-template-columns:1fr!important}
  .jos-home-hero{min-height:auto}
  .jos-command-card{min-height:auto}
  .jos-cc-list{max-height:none}
  .jos-today-timeline{
    display:flex;gap:10px;overflow:auto;max-height:none;padding-bottom:6px;
    scroll-snap-type:x mandatory;
  }
  .jos-today-item{
    min-width:240px;grid-template-columns:1fr;border:1px solid var(--jos-border);
    border-radius:14px;padding:12px;background:#fff;
  }
  .jos-today-dot{display:none}
  .jos-quick-card{display:none}
  .jos-home-fab{
    display:flex;position:fixed;right:18px;bottom:22px;z-index:12050;
    width:56px;height:56px;border-radius:50%;border:0;background:var(--jos-brand);color:#fff;
    font-size:28px;font-weight:700;align-items:center;justify-content:center;cursor:pointer;
    box-shadow:0 12px 30px rgba(217,99,45,.4);
  }
  .jos-home-fab-sheet{
    display:grid;position:fixed;right:18px;bottom:88px;z-index:12050;width:min(240px,calc(100vw - 36px));
    background:#fff;border:1px solid var(--jos-border);border-radius:16px;padding:8px;
    box-shadow:0 18px 50px rgba(15,23,42,.2);
  }
  .jos-home-fab-sheet[hidden]{display:none!important}
  .jos-home-fab-sheet button{
    appearance:none;border:0;background:transparent;text-align:left;padding:11px 12px;
    border-radius:10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--jos-navy);
  }
  .jos-home-fab-sheet button:hover{background:var(--jos-brand-soft)}
  .jos-command-card.jos-cc-collapsed .jos-cc-list,.jos-command-card.jos-cc-collapsed .jos-cc-chat{display:none}
}

/* ── Inbox Mission Control (v2) ── */
#p-app.jos-pixel.jos-inbox-mode{
  --jos-ibx-list:clamp(200px,22vw,260px);
  --jos-ibx-hub:clamp(220px,22vw,300px);
  --jos-ibx-gap:10px;
  --jos-ibx-pad:12px;
  --jos-ibx-radius:16px;
  --jos-ibx-shadow:0 8px 30px rgba(0,0,0,.06);
}
#p-app.jos-pixel.jos-inbox-mode .app-main{margin-left:var(--nav)}
#p-app.jos-pixel.jos-inbox-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-inbox-mode #v-chats.body,
#p-app.jos-pixel.jos-inbox-mode #jos-inbox-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:hidden;background:var(--jos-surface-2);
}
/* Inbox uses the global collapsed/expanded rail — no mode-specific nav overrides */

.jos-inbox-shell{
  display:flex;flex-direction:column;height:100vh;max-width:100%;width:100%;margin:0;overflow-x:hidden;box-sizing:border-box;
  background:
    radial-gradient(900px 360px at 8% -8%, rgba(217,99,45,.06), transparent 50%),
    var(--jos-surface-2);
  animation:josHomeIn .35s ease both;
}
.jos-ibx-header{
  min-height:64px;height:auto;flex-shrink:0;display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(160px,min(320px,28vw)) minmax(140px,1fr);
  align-items:center;gap:12px;padding:10px var(--jos-ibx-pad,12px);
  background:rgba(255,255,255,.96);border-bottom:1px solid var(--jos-border);min-width:0;
}
.jos-ibx-title{min-width:0}
.jos-ibx-title h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy)}
.jos-ibx-title p{margin:2px 0 0;font-size:12px;color:var(--jos-ink-2)}
.jos-ibx-global-search{
  display:flex;align-items:center;height:40px;border-radius:12px;background:var(--jos-surface-2);
  border:1px solid var(--jos-border);padding:0 14px;min-width:0;
}
.jos-ibx-global-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;font:inherit;font-size:13px;color:var(--jos-navy)}
.jos-ibx-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.jos-icon-btn,.jos-ibx-ava-btn{
  width:40px;height:40px;border-radius:12px;border:1px solid var(--jos-border);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;color:var(--jos-ink-2);
}
.jos-ibx-ava-btn{background:var(--jos-navy);color:#fff;font-size:11px;font-weight:800;border:0}
.jos-ibx-hub-btn{display:inline-flex}
.jos-ibx-hub-btn.on{border-color:rgba(217,99,45,.4);background:var(--jos-brand-soft);color:var(--jos-brand-dark)}

.jos-ibx-filters{
  height:56px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 var(--jos-ibx-pad,24px);
  overflow:auto;border-bottom:1px solid var(--jos-border);background:#fff;
}
.jos-ibx-tab{
  appearance:none;border:0;background:transparent;padding:10px 12px;font:inherit;font-size:13px;font-weight:700;
  color:var(--jos-ink-3);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;
}
.jos-ibx-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}
.jos-ibx-tab-count{
  display:inline-flex;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;
  background:var(--jos-surface-3);color:var(--jos-ink-2);font-size:10px;font-weight:800;align-items:center;justify-content:center;
}
.jos-ibx-tab.on .jos-ibx-tab-count{background:rgba(217,99,45,.15);color:var(--jos-brand-dark)}

.jos-ibx-body{
  flex:1;min-height:0;display:grid;
  grid-template-columns:var(--jos-ibx-list) minmax(0,1fr);
  gap:var(--jos-ibx-gap,10px);padding:10px var(--jos-ibx-pad,12px) 0;
  overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box;
}
/* Desktop: list + chat + hub share one row without overlays */
@media(min-width:1200px){
  .jos-ibx-body.has-hub{
    grid-template-columns:var(--jos-ibx-list) minmax(0,1fr) var(--jos-ibx-hub);
  }
  .jos-ibx-body.no-hub,
  .jos-ibx-body:has(.jos-ibx-hub.collapsed){
    grid-template-columns:var(--jos-ibx-list) minmax(0,1fr);
  }
  .jos-ibx-hub{
    position:relative!important;inset:auto!important;width:auto!important;max-width:none;
    z-index:auto!important;border-radius:var(--jos-ibx-radius,16px)!important;animation:none;
  }
  .jos-ibx-hub.collapsed{display:none}
  .jos-ibx-hub-backdrop{display:none!important}
  .jos-ibx-hub-close{display:inline-flex}
}
/* Narrow: hub is a drawer — never steals space from Select a conversation */
@media(max-width:1199px){
  .jos-ibx-hub{
    position:fixed;top:0;right:0;bottom:0;width:min(320px,92vw);z-index:12500;
    border-radius:0;animation:josHomeIn .2s ease both;
  }
  .jos-ibx-hub.collapsed{display:none}
  .jos-ibx-hub-backdrop{
    display:block;position:fixed;inset:0;z-index:12490;background:rgba(15,23,42,.32);border:0;cursor:pointer;
  }
  .jos-ibx-hub-close{display:inline-flex}
}
.jos-ibx-listcol,.jos-ibx-chatcol,.jos-ibx-hub{
  min-height:0;background:#fff;border:1px solid #ECECEC;border-radius:var(--jos-ibx-radius,16px);
  box-shadow:var(--jos-ibx-shadow);display:flex;flex-direction:column;overflow:hidden;
}
.jos-ibx-chatcol{min-width:0}
.jos-ibx-empty-chat{
  flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px 28px;text-align:center;max-width:420px;margin:0 auto;box-sizing:border-box;
}
.jos-ibx-empty-chat strong{display:block;font-size:18px;font-weight:800;color:var(--jos-navy);letter-spacing:-.02em;margin-bottom:8px}
.jos-ibx-empty-chat p{margin:0;font-size:14px;line-height:1.45;color:var(--jos-ink-2)}
.jos-ibx-list-tools{padding:12px;border-bottom:1px solid var(--jos-border);flex-shrink:0;min-width:0}
.jos-ibx-search{
  display:flex;height:40px;border:1px solid var(--jos-border);border-radius:12px;padding:0 12px;background:var(--jos-surface-2);min-width:0;
}
.jos-ibx-search input{border:0;outline:0;width:100%;min-width:0;background:transparent;font:inherit;font-size:13px}
.jos-ibx-sort-row{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:10px;min-width:0;
}
.jos-ibx-sort-row label{font-size:11px;font-weight:800;color:var(--jos-ink-3);text-transform:uppercase;white-space:nowrap}
.jos-ibx-sort-row select{
  width:100%;min-width:0;height:36px;border:1px solid var(--jos-border);border-radius:10px;background:#fff;font:inherit;font-size:12px;font-weight:650;
}
.jos-ibx-list{flex:1;overflow:auto;padding:8px}
.jos-ibx-card{
  position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;
  min-height:96px;padding:16px;border-radius:14px;border:1px solid transparent;border-left:3px solid var(--jos-brand);
  cursor:pointer;margin-bottom:6px;background:#fff;transition:transform .15s,box-shadow .15s,background .15s;
}
.jos-ibx-card.tone-brand{border-left-color:var(--jos-brand)}
.jos-ibx-card.tone-info{border-left-color:#2563EB}
.jos-ibx-card.tone-ok{border-left-color:#15803D}
.jos-ibx-card.tone-muted{border-left-color:#9CA3AF}
.jos-ibx-card.tone-hot{border-left-color:#DC2626}
.jos-ibx-card:hover{background:var(--jos-brand-soft);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.05)}
.jos-ibx-card.on{background:#FFF4EC;border-color:rgba(217,99,45,.25)}
.jos-ibx-card-ava{
  width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#2A3348,#141B2B);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;
}
.jos-ibx-card-top{display:flex;justify-content:space-between;gap:8px}
.jos-ibx-card-top strong{font-size:14px;font-weight:800;color:var(--jos-navy)}
.jos-ibx-time{font-size:11px;font-weight:700;color:var(--jos-ink-3);white-space:nowrap}
.jos-ibx-preview{
  margin-top:4px;font-size:12px;color:var(--jos-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;
}
.jos-ibx-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.jos-ibx-vehicle{font-size:12px;color:var(--jos-ink-3);font-weight:650}
.jos-ibx-pill{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;
  background:var(--jos-surface-3);color:var(--jos-ink-2);
}
.jos-ibx-pill.lead{background:#ECFDF3;color:#15803D}
.jos-ibx-pill.booked{background:#EFF6FF;color:#1D4ED8}
.jos-ibx-unread{
  min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--jos-brand);color:#fff;
  font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;
}
.jos-ibx-card-hover{
  display:none;position:absolute;right:8px;bottom:8px;gap:4px;background:#fff;border:1px solid var(--jos-border);
  border-radius:10px;padding:4px;box-shadow:0 8px 20px rgba(0,0,0,.1);
}
.jos-ibx-card:hover .jos-ibx-card-hover{display:flex}
.jos-ibx-card-hover button{
  appearance:none;border:0;background:transparent;padding:5px 7px;border-radius:7px;font:inherit;font-size:10px;font-weight:750;cursor:pointer;color:var(--jos-navy);
}
.jos-ibx-card-hover button:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}

.jos-ibx-chat-head{
  min-height:72px;height:auto;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--jos-border);flex-wrap:wrap;
}
.jos-ibx-chat-id{display:flex;gap:12px;align-items:center;min-width:0;flex:1}
.jos-ibx-ava-lg{
  width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#2A3348,#141B2B);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0;
}
.jos-ibx-chat-name{font-size:16px;font-weight:800;color:var(--jos-navy)}
.jos-ibx-star{color:#F59E0B}
.jos-ibx-contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:2px;font-size:12px}
.jos-ibx-chat-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.jos-ibx-ai-strip{
  flex-shrink:0;min-height:56px;height:auto;margin:12px 16px 0;padding:10px 14px;border-radius:14px;
  background:linear-gradient(90deg,#FFF8F3,#fff);border:1px solid rgba(217,99,45,.22);
  display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;
}
.jos-ibx-ai-cta{font-size:12px;font-weight:750;color:var(--jos-brand);white-space:nowrap}
.jos-ibx-stream{
  flex:1;min-height:0;overflow:auto;padding:20px 20px;display:flex;flex-direction:column;gap:10px;
}
.jos-ibx-date-sep{
  align-self:center;font-size:11px;font-weight:800;color:var(--jos-ink-3);background:var(--jos-surface-3);
  padding:4px 10px;border-radius:999px;margin:6px 0;
}
.jos-ibx-bubble-wrap{display:flex;flex-direction:column;max-width:min(420px,100%)}
.jos-ibx-bubble-wrap.out{align-self:flex-end;align-items:flex-end}
.jos-ibx-bubble-wrap.in{align-self:flex-start}
.jos-ibx-bubble{
  padding:14px;border-radius:18px;font-size:14px;line-height:1.45;min-height:44px;max-width:100%;
  box-sizing:border-box;
}
.jos-ibx-bubble.in{background:var(--jos-surface-3);color:var(--jos-navy);border-bottom-left-radius:6px}
.jos-ibx-bubble.out{background:rgba(217,99,45,.14);border:1px solid rgba(217,99,45,.2);color:var(--jos-navy);border-bottom-right-radius:6px}
.jos-ibx-receipt{font-size:10px;color:var(--jos-ink-3);margin-top:4px}
.jos-ibx-typing{display:inline-flex;gap:4px;padding:10px 14px;background:var(--jos-surface-3);border-radius:14px;align-self:flex-start}
.jos-ibx-typing span{width:6px;height:6px;border-radius:50%;background:var(--jos-ink-3);animation:josType .9s infinite}
.jos-ibx-typing span:nth-child(2){animation-delay:.15s}
.jos-ibx-typing span:nth-child(3){animation-delay:.3s}
@keyframes josType{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

.jos-ibx-quick{
  flex-shrink:0;min-height:48px;height:auto;display:flex;align-items:center;gap:8px;padding:8px 16px;overflow:auto;
  border-top:1px solid var(--jos-border);
}
.jos-ibx-pill{
  appearance:none;border:1px solid var(--jos-border);background:var(--jos-surface-2);height:36px;
  border-radius:999px;padding:0 12px;font:inherit;font-size:12px;font-weight:750;color:var(--jos-navy);
  cursor:pointer;white-space:nowrap;
}
.jos-ibx-pill:hover{border-color:rgba(217,99,45,.4);background:var(--jos-brand-soft)}
.jos-ibx-suggest-row{display:flex;gap:8px;padding:8px 16px;flex-wrap:wrap;flex-shrink:0}
.jos-ibx-suggest{
  appearance:none;border:1px solid rgba(217,99,45,.25);background:#fff;border-radius:999px;padding:6px 12px;
  font:inherit;font-size:12px;font-weight:650;color:var(--jos-brand-dark);cursor:pointer;
}
.jos-ibx-composer{
  flex-shrink:0;min-height:0;padding:12px 16px 14px;border-top:1px solid var(--jos-border);background:#fff;
}
.jos-ibx-composer.note-mode{background:#FFFBEB}
.jos-ibx-composer-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.jos-ibx-composer-tools button{
  appearance:none;border:1px solid var(--jos-border);background:var(--jos-surface-2);border-radius:8px;
  height:32px;padding:0 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--jos-ink-2);
}
.jos-ibx-composer-tools button.on,.jos-ibx-composer-tools button:hover{background:var(--jos-brand-soft);border-color:rgba(217,99,45,.35);color:var(--jos-brand-dark)}
.jos-ibx-channel-sel{height:32px;border-radius:8px;border:1px solid var(--jos-border);font:inherit;font-size:12px;font-weight:700}
.jos-ibx-templates{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.jos-ibx-tpl{
  appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:999px;padding:5px 10px;
  font:inherit;font-size:11px;font-weight:700;cursor:pointer;color:var(--jos-navy);
}
.jos-ibx-composer-row{display:flex;gap:10px;align-items:flex-end}
.jos-ibx-composer-row textarea{
  flex:1;min-height:44px;max-height:140px;resize:vertical;border:1px solid var(--jos-border);border-radius:12px;
  padding:10px 12px;font:inherit;font-size:14px;color:var(--jos-navy);outline:none;min-width:0;
}
.jos-ibx-composer-row textarea:focus{border-color:rgba(217,99,45,.45);box-shadow:0 0 0 3px rgba(217,99,45,.12)}
.jos-ibx-send{height:44px;min-width:88px;border-radius:12px;flex-shrink:0}
.jos-ibx-keys{margin-top:6px;font-size:11px}

.jos-ibx-hub{padding:12px;gap:12px;overflow:auto;position:relative;min-width:0}
.jos-ibx-hub-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;
  padding-bottom:4px;position:sticky;top:0;background:#fff;z-index:1;
}
.jos-ibx-hub-head .jos-kicker{margin:0}
.jos-ibx-hub-close{
  display:none;width:32px;height:32px;border-radius:8px;border:1px solid var(--jos-border);background:#fff;cursor:pointer;
  align-items:center;justify-content:center;font:inherit;color:var(--jos-ink-2);flex-shrink:0;
}
.jos-ibx-hub-backdrop{display:none}
.jos-ibx-hcard{
  background:#fff;border:1px solid #ECECEC;border-radius:14px;padding:14px;box-shadow:0 4px 16px rgba(0,0,0,.03);
  transition:transform .15s,box-shadow .15s;min-width:0;
}
.jos-ibx-hcard.clickable{cursor:pointer}
.jos-ibx-hcard.clickable:hover,.jos-ibx-hcard:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.06)}
.jos-ibx-profile{display:flex;gap:12px;align-items:flex-start;min-width:0}
.jos-ibx-profile > div{min-width:0}
.jos-ibx-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.jos-ibx-revgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.jos-ibx-revgrid span{display:block;font-size:11px;color:var(--jos-ink-3);font-weight:700}
.jos-ibx-revgrid strong{font-size:15px;color:var(--jos-navy);overflow-wrap:anywhere}
.jos-ibx-ul{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--jos-ink-2);line-height:1.55}
.jos-ibx-actions{display:grid;gap:8px;margin-top:10px}
.jos-ibx-actions button{
  width:100%;height:40px;appearance:none;border:1px solid var(--jos-border);background:var(--jos-surface-2);
  border-radius:12px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;color:var(--jos-navy);text-align:left;padding:0 14px;
}
.jos-ibx-actions button:hover{background:var(--jos-brand-soft);border-color:rgba(217,99,45,.35)}
.jos-ibx-timeline{margin-top:10px;display:grid;gap:0}
.jos-ibx-tl-row{
  display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start;width:100%;appearance:none;border:0;
  background:transparent;text-align:left;padding:8px 0;font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-2);cursor:pointer;
  border-left:0;
}
.jos-ibx-tl-row i{width:10px;height:10px;border-radius:50%;background:var(--jos-brand);margin-top:3px;box-shadow:0 0 0 3px rgba(217,99,45,.15)}
.jos-ibx-tl-row:hover{color:var(--jos-brand)}
.jos-ibx-autos{display:grid;gap:8px;margin-top:8px}
.jos-ibx-auto{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:12px;font-weight:650;color:var(--jos-navy)}
.jos-ibx-activity{display:grid;gap:4px;margin-top:8px}
.jos-ibx-act-row{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:8px 6px;border-radius:8px;
  font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-2);cursor:pointer;
}
.jos-ibx-act-row:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}
.jos-btn-row.jos-wrap{flex-wrap:wrap}
.jos-linkish{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:750;color:var(--jos-navy);cursor:pointer}
.jos-linkish:hover{color:var(--jos-brand)}
.jos-empty-action{padding:28px 16px;text-align:center}
.jos-empty-action strong{display:block;font-size:15px;color:var(--jos-navy);margin-bottom:6px}
.jos-empty-action p{margin:0 0 12px;font-size:13px;color:var(--jos-ink-2)}

.jos-ibx-dock{
  flex-shrink:0;height:64px;margin:10px var(--jos-ibx-pad,12px) 12px;background:#fff;border:1px solid #ECECEC;
  border-radius:16px;box-shadow:var(--jos-ibx-shadow);display:flex;align-items:center;position:relative;
  overflow-x:auto;overflow-y:hidden;min-width:0;
}
.jos-ibx-dock.collapsed{height:36px}
.jos-ibx-dock.collapsed .jos-ibx-dock-inner{display:none}
.jos-ibx-dock-toggle{
  position:absolute;left:8px;top:50%;transform:translateY(-50%);appearance:none;border:0;background:transparent;
  font:inherit;font-size:11px;font-weight:800;color:var(--jos-ink-3);cursor:pointer;z-index:2;white-space:nowrap;
}
.jos-ibx-dock-inner{
  display:flex;flex-wrap:nowrap;gap:8px;width:100%;min-width:0;overflow:auto;padding:0 12px 0 36px;align-items:stretch;
}
.jos-ibx-kpi{
  flex:0 0 auto;min-width:120px;max-width:160px;appearance:none;border:0;background:transparent;border-radius:12px;padding:8px 10px;
  display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;text-align:left;cursor:pointer;font:inherit;
  transition:transform .15s,background .15s;
}
.jos-ibx-kpi:hover{transform:translateY(-3px);background:var(--jos-brand-soft)}
.jos-ibx-kpi .ico{
  grid-row:1 / span 2;width:28px;height:28px;border-radius:8px;background:var(--jos-brand-soft);color:var(--jos-brand);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;align-self:center;
}
.jos-ibx-kpi strong{font-size:18px;font-weight:800;color:var(--jos-navy);line-height:1.1}
.jos-ibx-kpi span:last-child{font-size:10px;font-weight:700;color:var(--jos-ink-3)}

.jos-ibx-ctx{
  position:fixed;z-index:14000;min-width:200px;background:#fff;border:1px solid var(--jos-border);
  border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);padding:6px;
}
.jos-ibx-ctx button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-ibx-ctx button:hover{background:var(--jos-brand-soft)}

@media(max-width:1199px){
  .jos-ibx-body{grid-template-columns:1fr}
  .jos-ibx-listcol{max-height:40vh}
  .jos-ibx-header{grid-template-columns:1fr;height:auto;padding:12px 16px;gap:10px}
  .jos-ibx-global-search{width:100%;max-width:none}
}

/* ── Jobs Mission Control ── */
#p-app.jos-pixel.jos-jobs-mode{
  --jos-jobs-rail:320px;
  --jos-jobs-bg:#F7F8FA;
}
#p-app.jos-pixel.jos-jobs-mode .app-main{margin-left:var(--nav);background:var(--jos-jobs-bg)!important}
#p-app.jos-pixel.jos-jobs-mode .app-bar{display:none!important}
/* Opaque full-viewport shell — Home must not bleed through Jobs / Calendar */
#p-app.jos-pixel.jos-jobs-mode #v-jobs.body,
#p-app.jos-pixel.jos-jobs-mode #jos-jobs-root,
#p-app.jos-pixel.jos-jobs-mode #v-calendar.body,
#p-app.jos-pixel.jos-jobs-mode #jos-calendar-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:hidden;
  background:var(--jos-jobs-bg);
  position:relative;z-index:2;isolation:isolate;
}
#p-app.jos-pixel.jos-jobs-mode #v-jobs.body > :not(#jos-jobs-root),
#p-app.jos-pixel.jos-jobs-mode #v-calendar.body > :not(#jos-calendar-root){display:none!important}
#p-app.jos-pixel.jos-jobs-mode .app-nav{
  width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%);
}
#p-app.jos-pixel.jos-jobs-mode .ni.active{background:var(--jos-brand);box-shadow:none}
/* REOPENED 2026-09-16 — see docs/DOORS_CLOSED_BY_ASSUMPTION.md. Four rules stood here and every
   one of them HID this button; nothing anywhere showed it. What is left is the original intent
   ead44be described: New Job belongs in the Jobs view, in an expanded rail where a labelled
   button fits. Shown in jobs mode with the rail expanded; hidden elsewhere by the two rules
   below, which are layout, not a closed door. */
#p-app.jos-pixel.jos-nav-expanded.jos-jobs-mode .nav-jobs-new{display:inline-flex!important}
#p-app.jos-pixel:not(.jos-jobs-mode) .nav-jobs-new{display:none}

.jos-jobs-shell{
  height:100vh;max-width:1728px;margin:0 auto;display:flex;flex-direction:column;
  background:var(--jos-jobs-bg,#F7F8FA);overflow:hidden;
  /* Do not fade the shell — opacity:0 lets Home paint through during enter */
  animation:none;
}
.jos-jobs-shell > .jos-jobs-layout{
  animation:josHomeIn .28s ease both;
}
.jos-jobs-layout{
  flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0;overflow:hidden;
}
.jos-jobs-main{
  min-width:0;overflow:auto;padding:32px 32px 40px;
}
.jos-jobs-header{
  min-height:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:12px;flex-wrap:wrap;
}
/* Matched to .jos-ld-title exactly — Leads' page title after its
   compact-header redesign (see docs/JOBS_LEADS_CONSISTENCY_AUDIT.md-
   adjacent work). Jobs' header keeps its own action buttons (Export/
   Filters/+New Job differ from Leads' toolbar), only the typography
   is unified here, matching what was actually reported as inconsistent. */
.jos-jobs-header h1{
  margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--jos-navy);
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
.jos-jobs-header p{margin:6px 0 0;font-size:13px;color:var(--jos-ink-2)}
.jos-jobs-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.jos-jobs-export{
  width:120px;height:44px;background:#fff;border:1px solid var(--jos-border);border-radius:12px;font-weight:750;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .2s;
}
.jos-jobs-export:hover,.jos-jobs-new:hover,.jos-btn-brand.jos-jobs-new:hover{transform:scale(1.02)}
.jos-jobs-new{width:140px;height:44px;border-radius:12px;transition:transform .15s,background .2s}
.jos-jobs-export-wrap{position:relative}
.jos-jobs-export-menu{
  position:absolute;top:48px;left:0;z-index:20;width:180px;background:#fff;border:1px solid var(--jos-border);
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:6px;
}
.jos-jobs-export-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-jobs-export-menu button:hover{background:var(--jos-brand-soft)}
.jos-jobs-ava-btn{
  width:40px;height:40px;border-radius:50%;border:0;background:var(--jos-navy);color:#fff;
  font:inherit;font-size:11px;font-weight:800;cursor:pointer;
}

.jos-jobs-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;
}
.jos-jobs-toolbar .jos-jobs-search{
  flex:1;min-width:min(100%,240px);height:42px;display:flex;align-items:center;
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:0 14px;
}
.jos-jobs-toolbar .jos-jobs-search input{border:0;outline:0;width:100%;background:transparent;font:inherit;font-size:13px}
.jos-jobs-filters{
  display:none;background:#fff;border-radius:14px;box-shadow:none;padding:12px;margin-bottom:12px;
  min-height:0;border:1px solid #ECECEC;
}
.jos-jobs-filters.is-open{display:block}
.jos-jobs-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jos-jobs-filter-row.two{margin-top:12px}
.jos-jobs-dt{gap:6px!important}
.jos-jobs-dt span{display:inline-flex;align-items:center;gap:6px}
.jos-jobs-dt svg{flex-shrink:0;color:var(--jos-ink-3)}
.jos-jobs-dd{
  width:auto;min-width:120px;max-width:168px;height:38px;border:1px solid var(--jos-border);border-radius:10px;background:#fff;
  padding:0 10px;font:inherit;font-size:12px;font-weight:650;color:var(--jos-navy);
}
.jos-jobs-search{
  flex:1;min-width:200px;height:42px;display:flex;align-items:center;border:1px solid var(--jos-border);
  border-radius:12px;background:var(--jos-surface-2);padding:0 14px;
}
.jos-jobs-search input{border:0;outline:0;width:100%;background:transparent;font:inherit;font-size:13px}

.jos-jobs-adv{
  position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);z-index:12600;background:#fff;
  border-left:1px solid var(--jos-border);box-shadow:-12px 0 40px rgba(0,0,0,.12);padding:24px;
  display:grid;gap:12px;align-content:start;overflow:auto;animation:josHomeIn .2s ease both;
}
.jos-jobs-adv label{display:grid;gap:6px;font-size:11px;font-weight:800;color:var(--jos-ink-2);text-transform:uppercase}
.jos-jobs-adv input,.jos-jobs-adv select{
  height:40px;border:1px solid var(--jos-border);border-radius:10px;padding:0 10px;font:inherit;font-size:13px;text-transform:none;font-weight:650;
}

/* Legacy KPI cards kept for safety but unused — compact meta chips replace them */
.jos-jobs-kpis{display:none!important}
.jos-jobs-table-card.jos-jobs-first{margin-top:0}
.jos-jobs-table-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;
  margin-bottom:4px;
}
.jos-jobs-table-head .jos-jobs-table-tabs{
  margin-bottom:0;border-bottom:0;height:auto;flex-wrap:wrap;gap:2px;width:100%;
}
.jos-jobs-foot{
  margin-top:16px;padding-top:14px;border-top:1px solid #F0F1F3;
}
.jos-jobs-meta{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-start;
}
.jos-jobs-meta-chip{
  appearance:none;border:1px solid #E8EAED;background:#F8F9FA;border-radius:999px;
  padding:5px 9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;
  max-width:100%;min-width:0;
}
.jos-jobs-meta-chip span{
  font-size:11px;font-weight:700;color:var(--jos-ink-3);letter-spacing:.01em;white-space:nowrap;
}
.jos-jobs-meta-chip strong{
  font-size:12px;font-weight:800;color:var(--jos-navy);letter-spacing:-.02em;white-space:nowrap;
  max-width:7.5ch;overflow:hidden;text-overflow:ellipsis;
}
.jos-jobs-meta-chip.revenue strong{max-width:9ch;color:var(--jos-brand)}
.jos-jobs-meta-chip:hover{border-color:rgba(217,99,45,.35);background:#FFF8F3}

.jos-jobs-table-card{
  background:#fff;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.04);padding:20px 20px 24px;border:1px solid #ECECEC;
}
.jos-jobs-table-tabs{display:flex;gap:4px;border-bottom:1px solid var(--jos-border);margin-bottom:12px;height:50px;align-items:stretch}
.jos-jobs-ttab{
  appearance:none;border:0;background:transparent;padding:0 12px;font:inherit;font-size:13px;font-weight:700;
  color:var(--jos-ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:color .15s,border-color .15s;white-space:nowrap;
}
.jos-jobs-ttab:hover{color:var(--jos-navy)}
.jos-jobs-ttab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand);font-weight:800}
.jos-jobs-ttab.on:hover{color:var(--jos-brand)}
.jos-jobs-table-wrap{overflow:auto;max-height:none}
.jos-jobs-cards{display:none;gap:12px}
.jos-jobs-table{width:100%;border-collapse:collapse;min-width:960px;table-layout:fixed}
.jos-jobs-table thead th{
  position:sticky;top:0;z-index:2;height:48px;background:#fff;text-align:left;padding:0 10px;
  font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--jos-ink-3);
  border-bottom:1px solid var(--jos-border);
}
.jos-jobs-table .col-cust{width:18%}
.jos-jobs-table .col-jobnum{width:8%}
.jos-jobs-table .col-svc{width:15%}
.jos-jobs-table .col-tech{width:13%}
.jos-jobs-table .col-date{width:13%}
.jos-jobs-table .col-status{width:11%}
.jos-jobs-table .col-amt{width:8%}
.jos-jobs-table .col-bal{width:8%}
.jos-jobs-table .col-act{width:6%}
.jos-jobs-row{min-height:76px;height:auto;border-bottom:1px solid var(--jos-border);border-left:3px solid transparent;transition:background .15s}
.jos-jobs-row.tone-ok{border-left-color:#15803D}
.jos-jobs-row.tone-info{border-left-color:#2563EB}
.jos-jobs-row.tone-warn{border-left-color:var(--jos-brand)}
.jos-jobs-row.tone-hot{border-left-color:#DC2626}
.jos-jobs-row:hover{background:#F8FAFC}
.jos-jobs-table .col-bal .jos-jobs-bal-due{color:#B45309!important}
.jos-jobs-table td{padding:12px 10px;vertical-align:middle;min-width:0}
.jos-jobs-table td .jos-linkish,.jos-jobs-cust{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;appearance:none;border:0;background:transparent;
  font:inherit;cursor:pointer;text-align:left;color:inherit;padding:0;max-width:100%;min-width:0;
}
.jos-jobs-table td .jos-linkish span,
.jos-jobs-cust span{
  min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.jos-jobs-cust{flex-direction:row;align-items:center;gap:10px}
.jos-jobs-cust > span{display:flex;flex-direction:column;white-space:normal;min-width:0}
.jos-jobs-cust > span span{white-space:nowrap}
.jos-jobs-status{
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  text-transform:capitalize;font-size:11px;padding:5px 8px;display:inline-block;
}
.jos-jobs-ava{
  width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#2A3348,#141B2B);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;
}
.jos-jobs-ava.lg{width:56px;height:56px;font-size:15px}
.jos-jobs-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
.jos-jobs-pagebtn{
  min-width:36px;height:36px;border-radius:10px;border:1px solid var(--jos-border);background:#fff;
  font:inherit;font-size:12px;font-weight:750;cursor:pointer;
}
.jos-jobs-pagebtn.on{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-jobs-pagesize{height:36px;border-radius:10px;border:1px solid var(--jos-border);padding:0 8px;font:inherit;font-size:12px}

.jos-jobs-empty{padding:48px 24px;text-align:center}
.jos-jobs-empty-art{
  width:88px;height:88px;margin:0 auto 16px;border-radius:24px;
  background:linear-gradient(145deg,#FFF4ED,#FFE8D9);border:1px solid rgba(217,99,45,.18);
  position:relative;
}
.jos-jobs-empty-art::before,.jos-jobs-empty-art::after{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(20,27,43,.08);
}
.jos-jobs-empty-art::before{width:44px;height:52px}
.jos-jobs-empty-art::after{width:28px;height:3px;background:var(--jos-brand);top:58%}
.jos-jobs-empty h3{margin:0 0 8px;font-size:20px;color:var(--jos-navy)}
.jos-jobs-empty p{margin:0 0 16px;color:var(--jos-ink-2);font-size:14px}

.jos-jobs-rail{
  width:320px;border-left:1px solid #E8EAED;background:var(--jos-jobs-bg);padding:24px;overflow:auto;
  display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;
}
.jos-jobs-rail-tabs{display:none;gap:4px;margin-bottom:4px}
.jos-jobs-rail-tab{
  flex:1;height:40px;appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:10px;
  font:inherit;font-size:12px;font-weight:750;color:var(--jos-ink-3);cursor:pointer;transition:color .2s,border-color .2s,background .2s;
}
.jos-jobs-rail-tab.on{color:var(--jos-brand);border-color:rgba(217,99,45,.45);background:var(--jos-brand-soft)}
.jos-jobs-rail-card{
  background:#fff;border:1px solid #ECECEC;border-radius:18px;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,.04);
}
.jos-jobs-rail-card[data-jos-rail-panel="calendar"]{
  min-height:340px;height:auto;max-height:none;overflow:visible;display:flex;flex-direction:column;
}
.jos-jobs-rail-card[data-jos-rail-panel="summary"]{min-height:230px;height:auto;overflow:auto}
.jos-jobs-rail-card.grow{flex:1;min-height:280px;display:flex;flex-direction:column}
.jos-jcal{display:flex;flex-direction:column;gap:4px;min-height:0;flex:1}
.jos-jcal-grid{
  display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px;
  flex:1;min-height:180px;align-content:start;
}
.jos-jcal-cell{
  appearance:none;border:0;background:var(--jos-surface-2);border-radius:10px;min-height:36px;min-width:0;padding:4px;
  font:inherit;font-size:11px;font-weight:700;cursor:pointer;color:var(--jos-navy);position:relative;
  display:flex;align-items:flex-start;justify-content:flex-start;width:100%;
}
.jos-jobs-card{
  border:1px solid #ECECEC;border-radius:16px;background:#fff;border-left:3px solid transparent;
  box-shadow:0 6px 20px rgba(0,0,0,.04);overflow:hidden;transition:transform .15s,box-shadow .2s;
}
.jos-jobs-card.tone-ok{border-left-color:#15803D}
.jos-jobs-card.tone-info{border-left-color:#2563EB}
.jos-jobs-card.tone-warn{border-left-color:var(--jos-brand)}
.jos-jobs-card.tone-hot{border-left-color:#DC2626}
.jos-jobs-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.jos-jobs-card-main{
  width:100%;display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;
  appearance:none;border:0;background:transparent;padding:14px;font:inherit;text-align:left;cursor:pointer;color:inherit;
}
.jos-jobs-card-main span{display:flex;flex-direction:column;gap:2px;min-width:0}
.jos-jobs-card-foot{
  display:flex;justify-content:space-between;align-items:center;padding:0 14px 12px;border-top:1px solid transparent;
}
.jos-jcal-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0}
.jos-jcal-head button{appearance:none;border:0;background:var(--jos-surface-2);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px}
.jos-jcal-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;font-size:10px;font-weight:800;color:var(--jos-ink-3);text-align:center;margin-bottom:4px}
.jos-jcal-cell.muted{background:transparent;cursor:default}
.jos-jcal-cell.today{box-shadow:inset 0 0 0 1px var(--jos-brand)}
.jos-jcal-cell.on{background:var(--jos-brand-soft)}
.jos-jcal-cell.has i{
  position:absolute;right:4px;bottom:3px;min-width:14px;height:14px;border-radius:999px;background:var(--jos-brand);
  color:#fff;font-size:9px;font-style:normal;display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.jos-jobs-upcoming{overflow:auto;flex:1;display:grid;gap:8px;margin-top:10px}
.jos-jobs-up-card{
  display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;width:100%;
  appearance:none;border:1px solid var(--jos-border);background:#fff;border-radius:12px;padding:10px;cursor:pointer;font:inherit;text-align:left;
  transition:transform .15s,border-color .15s;
}
.jos-jobs-up-card:hover{transform:translateY(-2px);border-color:rgba(217,99,45,.35)}
.jos-jobs-up-card span{display:flex;flex-direction:column;gap:2px;min-width:0}
.jos-jobs-sum-row{
  width:100%;display:flex;justify-content:space-between;align-items:center;appearance:none;border:0;background:transparent;
  padding:8px 0;border-bottom:1px solid var(--jos-border);font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-2);cursor:pointer;
}
.jos-jobs-sum-row:hover{color:var(--jos-brand)}
.jos-jobs-sum-row strong{color:var(--jos-navy);font-weight:800}
.jos-jobs-spark{display:flex;align-items:flex-end;gap:4px;height:48px;margin:10px 0}
.jos-jobs-spark i{flex:1;background:linear-gradient(180deg,rgba(217,99,45,.55),rgba(217,99,45,.15));border-radius:4px 4px 0 0}

.jos-jobs-drawer-backdrop{
  display:none;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:12700;
}
.jos-jobs-drawer-backdrop.open{display:block}
.jos-jobs-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(520px,96vw);z-index:12750;background:#fff;
  box-shadow:-16px 0 50px rgba(0,0,0,.18);display:flex;flex-direction:column;animation:josSlideIn .22s ease both;
}
@keyframes josSlideIn{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.jos-jd-head{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-bottom:1px solid var(--jos-border)}
.jos-jd-head h2{margin:0;font-size:18px;font-weight:800;color:var(--jos-navy);cursor:pointer;border-radius:7px;padding:2px 4px;margin-left:-4px;transition:background-color .12s ease}
.jos-jd-head h2:hover{background:#F5F6F7}
.jos-jd-head-top{display:flex;align-items:center;gap:10px}
.jos-jd-head-top > .jos-icon-btn{margin-left:auto;flex-shrink:0}
.jos-jd-head-icon{
  flex-shrink:0;width:36px;height:36px;border-radius:10px;background:#FBEFE8;display:flex;align-items:center;justify-content:center;font-size:18px;
}
.jos-jd-head-title{flex:1;min-width:0}
.jos-jd-head-title .jos-jd-title-input{font-size:18px;font-weight:800;height:36px}
.jos-jd-head-meta{display:flex;align-items:center;gap:10px;font-size:13px}
.jos-jd-head-meta .jos-jd-status-input{height:26px}
.jos-jd-head-customer{display:flex;align-items:center;gap:8px;font-size:13px}
.jos-jd-head-customer .jos-muted{margin-left:auto}
.jos-jd-tabs{display:flex;gap:2px;overflow:auto;padding:0 12px;border-bottom:1px solid var(--jos-border);flex-shrink:0}
.jos-jd-tab{
  appearance:none;border:0;background:transparent;padding:12px 10px;font:inherit;font-size:12px;font-weight:750;
  color:var(--jos-ink-3);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;
}
.jos-jd-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}
.jos-jd-body{flex:1;overflow:auto;padding:20px}
.jos-jd-stack{display:grid;gap:12px}
.jos-jd-kv{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--jos-border);font-size:13px}
.jos-jd-kv span{color:var(--jos-ink-3);font-weight:700}
.jos-jd-head-acts{display:flex;align-items:center;gap:8px;flex-shrink:0}
.jos-jd-tabs.is-disabled{opacity:.55;pointer-events:none}
.jos-je-form{padding-bottom:12px}
.jos-je-form.is-inline .jos-muted{margin:0}
.jos-je-section + .jos-je-section{margin-top:20px}
.jos-je-section > .jos-kicker{margin-bottom:10px}
.jos-je-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;width:100%;
}
.jos-je-field{
  display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--jos-ink-2);
}
.jos-je-field.full{grid-column:1/-1}
.jos-je-field input,.jos-je-field select,.jos-je-field textarea{
  height:40px;border:1px solid var(--jos-border);border-radius:12px;padding:0 12px;
  font:inherit;font-size:13px;font-weight:600;color:var(--jos-navy);background:#F9FAFB;width:100%;box-sizing:border-box;
}
.jos-je-field textarea{height:auto;min-height:72px;padding:10px 12px;resize:vertical;line-height:1.4}
.jos-je-field input:focus,.jos-je-field select:focus,.jos-je-field textarea:focus{
  outline:none;border-color:rgba(217,99,45,.45);background:#fff;box-shadow:0 0 0 3px rgba(217,99,45,.12);
}
@media(max-width:720px){
  .jos-je-grid{grid-template-columns:1fr}
}
/* Click-to-edit drawer fields — same interaction as the table's cells
   (click text, it becomes an input, blur saves) but sized for a spacious
   labeled form instead of a dense grid: text looks like plain text until
   you interact with it, matching Attio/Linear/Notion, rather than always
   showing input chrome. */
.jos-je-field-value{
  display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:12px;
  font-size:13px;font-weight:600;color:var(--jos-navy);cursor:pointer;transition:background-color .12s ease,border-color .12s ease;
}
.jos-je-field-value:hover{background:#F9FAFB;border-color:var(--jos-border)}
.jos-je-field-value.is-empty{color:var(--jos-ink-3);font-weight:500}
.jos-je-field-value.is-readonly{cursor:default;color:var(--jos-ink-2)}
.jos-je-field-value.is-readonly:hover{background:transparent;border-color:transparent}
.jos-je-field-input.jos-ld-cell-inline{
  height:40px!important;border-radius:12px!important;padding:0 12px!important;font-size:13px!important;font-weight:600!important;
  border:1px solid rgba(217,99,45,.45)!important;background:#fff!important;color:var(--jos-navy)!important;
  box-shadow:0 0 0 3px rgba(217,99,45,.12);width:100%;
}
textarea.jos-je-field-input.jos-ld-cell-inline{height:auto!important;min-height:72px;padding:10px 12px!important;resize:vertical;line-height:1.4}
/* Financial — small scannable cards (Total/Invoice/Deposit, +Quote when
   real quote metadata exists) instead of a label/value list. Nothing
   here is directly editable — Amount is still edited via the Financial
   value shown; these cards are the "glance" view, not a form. */
.jos-je-fin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.jos-je-fin-card{
  border:1px solid var(--jos-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;background:#FAFBFC;
}
.jos-je-fin-card span{font-size:11px;font-weight:700;color:var(--jos-ink-3);text-transform:uppercase;letter-spacing:.04em}
.jos-je-fin-card strong{font-size:16px;font-weight:800;color:var(--jos-navy)}
.jos-je-fin-editable{display:block}
.jos-je-fin-editable .jos-je-field-value{font-size:16px;font-weight:800;color:var(--jos-navy);cursor:pointer}
.jos-je-fin-editable input.jos-ld-cell-inline,.jos-je-fin-editable select.jos-ld-cell-inline{
  height:30px;font-size:15px;font-weight:800;padding:0 8px;width:100%;
}
.jos-je-discount-add{
  appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:13px;font-weight:700;
  color:var(--jos-brand-dark);cursor:pointer;text-align:left;
}
.jos-je-discount-edit{display:flex;flex-direction:column;gap:6px}
.jos-je-discount-input{
  height:32px;border:1px solid var(--jos-border);border-radius:8px;padding:0 8px;
  font:inherit;font-size:13px;font-weight:700;color:var(--jos-navy);background:#fff;width:100%;
}
.jos-je-discount-error{font-size:11px;font-weight:650;color:#B42318}
.jos-je-discount-acts{display:flex;gap:6px;justify-content:flex-end}
/* Assignment — real computed stat under the picker, never a fabricated
   rating/availability indicator. The dot is a plain neutral accent (not
   green/red) — it's a role marker, not a live-availability signal we
   don't have data for. */
.jos-je-substat{margin-top:8px;font-size:12px;color:var(--jos-ink-3);font-weight:600;padding:0 4px;display:flex;align-items:center;gap:6px}
.jos-je-substat.is-empty{color:var(--jos-ink-3)}
.jos-je-role-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--jos-brand)}
/* Customer quick actions — the same jobs-call/jobs-email/jobs-message
   handlers already used elsewhere, surfaced right under the person
   they act on instead of requiring a scroll. */
.jos-je-quick-acts{display:flex;gap:8px;margin-top:12px}
/* Summary strip — the drawer opens onto this before any section, a
   read-only recap of the same Assignment/Financial facts shown in
   full further down. */
.jos-je-summary{
  display:flex;flex-direction:column;gap:6px;background:#FAFBFC;border:1px solid var(--jos-border);border-radius:14px;padding:14px 16px;margin-bottom:4px;
}
.jos-je-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.jos-je-summary-row span{color:var(--jos-ink-3);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.jos-je-summary-row strong{font-weight:800;color:var(--jos-navy);font-size:15px}
.jos-je-summary-row:last-child span:first-child{font-size:18px;font-weight:800;color:var(--jos-navy);text-transform:none;letter-spacing:normal}
/* Activity — job.timeline, real events only (Started/Completed/Deposit
   collected/etc, whatever pushJobTimeline actually recorded). */
.jos-je-activity{display:flex;flex-direction:column;gap:0}
.jos-je-activity-row{display:flex;gap:10px;padding:8px 4px;font-size:13px}
.jos-je-activity-row > div{display:flex;flex-direction:column;gap:2px}
.jos-je-activity-row strong{font-weight:700;color:var(--jos-navy)}
.jos-je-activity-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--jos-brand);margin-top:6px}
/* Footer — replaces the old Save-changes button row: every field commits
   on its own, so the footer is just status + the context-appropriate
   primary actions + overflow. */
.jos-jd-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;
  border-top:1px solid var(--jos-border);flex-shrink:0;background:#fff;
}
.jos-jd-saved{font-size:12px;font-weight:700;color:var(--jos-ink-3);display:flex;align-items:center;gap:4px}
.jos-jd-saved i{font-style:normal;color:#1E8A4C}
.jos-jd-foot-acts{display:flex;align-items:center;gap:8px}
.jos-jobs-inline-cust{
  display:flex;align-items:center;gap:10px;min-width:0;
}
.jos-jobs-inline-cust .jos-jobs-ava{
  flex-shrink:0;border:0;cursor:pointer;
}
.jos-jobs-inline-stack{
  display:flex;flex-direction:column;gap:4px;min-width:0;width:100%;
}
.jos-jobs-inline{
  width:100%;min-width:0;height:32px;border:1px solid transparent;border-radius:8px;
  background:transparent;padding:0 8px;font:inherit;font-size:13px;font-weight:700;color:var(--jos-navy);
  box-sizing:border-box;
}
.jos-jobs-inline.muted{font-size:12px;font-weight:600;color:var(--jos-ink-2);height:28px}
.jos-jobs-inline:hover{border-color:#E5E7EB;background:#F9FAFB}
.jos-jobs-inline:focus{
  outline:none;border-color:rgba(217,99,45,.45);background:#fff;box-shadow:0 0 0 3px rgba(217,99,45,.12);
}
.jos-jobs-inline-amt{font-variant-numeric:tabular-nums;max-width:7.5rem}
.jos-jobs-inline-status{
  appearance:none;height:30px;border-radius:999px;padding:0 10px;font-size:11px;font-weight:800;
  text-transform:capitalize;cursor:pointer;border:1px solid #E5E7EB;background:#F3F4F6;color:#374151;
}
.jos-jobs-inline-status.info{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE}
.jos-jobs-inline-status.ok{background:#ECFDF3;color:#15803D;border-color:#BBF7D0}
.jos-jobs-inline-status.warn{background:#FFF7ED;color:#C2410C;border-color:#FED7AA}
.jos-jobs-inline-status.hot{background:#FEF2F2;color:#B91C1C;border-color:#FECACA}
.jos-jobs-inline-status.mute{background:#F3F4F6;color:#6B7280;border-color:#E5E7EB}
.jos-jobs-more-wrap{display:flex;align-items:center;gap:4px;justify-content:flex-end}
.jos-jobs-service-cell{display:flex;flex-direction:column;gap:1px;min-width:0}
.jos-jobs-id-sub{font-size:11px}
/* Recurring schedule parent/occurrence rows (Phase 2) */
.jos-jobs-schedule-row{background:var(--jos-surface-2);cursor:pointer}
.jos-jobs-schedule-row:hover{background:#F0F1F3}
.jos-jobs-occurrence-row td:first-child{position:relative;padding-left:22px}
.jos-jobs-occurrence-row td:first-child::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:var(--jos-border)}
.jos-jobs-recur-badge{font-size:11px;font-weight:600;color:var(--jos-brand)}
.jos-jobs-next-label{color:var(--jos-muted-2,#8A8F98);font-weight:600;margin-right:3px}
.jos-jobs-schedule-toggle{font-size:13px}
.jos-jd-kv-edit{display:grid;grid-template-columns:110px 1fr 28px;align-items:center;gap:8px}
.jos-jd-kv-edit input,.jos-jd-kv-edit select{font:inherit;padding:6px 8px;border:1px solid var(--jos-border);border-radius:8px;background:var(--jos-surface)}
.jos-jd-schedule-edit{padding:10px;border:1px solid var(--jos-border);border-radius:12px;background:var(--jos-surface-2)}
.jos-jd-schedule-edit-note{font-size:12px;margin:2px 0 8px}
.jos-jd-recur-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border:1px solid var(--jos-border);border-radius:10px;background:var(--jos-surface-2);font-size:12.5px}
.jos-jd-recur-notice .jos-linkish{margin-left:auto}
.jos-jd-opportunity{padding:12px;border:1px solid #FBD9BA;border-radius:12px;background:#FFF7ED}
.jos-jd-opportunity strong{display:block;font-size:13.5px;color:var(--jos-navy)}
.jos-jd-opportunity p{margin:4px 0 8px}
.jos-jd-profile{display:flex;gap:12px;align-items:flex-start}
.jos-jd-svc{padding:12px;border:1px solid var(--jos-border);border-radius:12px;background:var(--jos-surface-2)}
.jos-jd-tl{
  display:grid;grid-template-columns:12px 1fr;gap:10px;width:100%;appearance:none;border:0;background:transparent;
  text-align:left;padding:8px 0;font:inherit;cursor:pointer;color:var(--jos-navy);
}
.jos-jd-tl i{width:10px;height:10px;border-radius:50%;background:var(--jos-brand);margin-top:4px;box-shadow:0 0 0 3px rgba(217,99,45,.15)}
.jos-jd-tl span{display:flex;flex-direction:column;gap:2px;font-size:12px}

.jos-jobs-pop{
  position:fixed;z-index:13000;min-width:200px;background:#fff;border:1px solid var(--jos-border);
  border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);padding:6px;
}
.jos-jobs-pop button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-jobs-pop button:hover{background:var(--jos-brand-soft)}
.jos-jobs-fab{
  display:none;position:fixed;right:18px;bottom:22px;z-index:12050;width:56px;height:56px;border-radius:50%;
  border:0;background:var(--jos-brand);color:#fff;font-size:28px;font-weight:700;cursor:pointer;
  box-shadow:0 12px 30px rgba(217,99,45,.4);
}
.jos-linkish{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:750;color:var(--jos-navy);cursor:pointer}
.jos-linkish:hover{color:var(--jos-brand)}
.jos-icon-btn{
  width:40px;height:40px;border-radius:12px;border:1px solid var(--jos-border);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;color:var(--jos-ink-2);
}

@media(max-width:1199px){
  .jos-jobs-layout{grid-template-columns:1fr;overflow:auto}
  .jos-jobs-main{overflow:visible}
  .jos-jobs-table thead th{position:static}
  .jos-jobs-rail{position:relative;width:100%;height:auto;border-left:0;border-top:1px solid #E8EAED;order:2}
  .jos-jobs-main{order:1}
  .jos-jobs-rail-tabs{display:flex}
  .jos-jobs-rail .jos-rail-panel{display:none!important}
  .jos-jobs-rail .jos-rail-panel.on{display:flex!important;flex-direction:column}
  .jos-jobs-rail-card[data-jos-rail-panel="calendar"],
  .jos-jobs-rail-card[data-jos-rail-panel="summary"]{height:auto;min-height:0;max-height:none;overflow:visible}
  .jos-jobs-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1023px){
  #p-app.jos-pixel.jos-jobs-mode:not(.jos-nav-expanded){--nav:80px}
  #p-app.jos-pixel.jos-jobs-mode:not(.jos-nav-expanded) .ni .ni-lbl,
  #p-app.jos-pixel.jos-jobs-mode:not(.jos-nav-expanded) .nav-profile-meta{display:none!important}
  .jos-jobs-main{padding:20px 16px 32px}
  .jos-jobs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-jobs-search{min-width:100%}
  .jos-jobs-filter-row{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;
  }
  .jos-jobs-dd{flex:0 0 160px;width:160px}
  .jos-jobs-fab{display:flex;align-items:center;justify-content:center}
  .jos-jobs-table-wrap{display:none}
  .jos-jobs-cards{display:grid}
}
@media(max-width:767px){
  #p-app.jos-pixel.jos-jobs-mode{--nav:0px}
  #p-app.jos-pixel.jos-jobs-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-jobs-mode .app-main{margin-left:0}
  .jos-jobs-kpis{
    display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:12px;
  }
  .jos-jobs-kpi{min-width:220px;scroll-snap-align:start;flex:0 0 auto}
  .jos-jobs-header{gap:16px}
  .jos-jobs-header h1{font-size:24px}
  .jos-jobs-export,.jos-jobs-new{width:auto;min-width:0;padding:0 14px}
}

/* ─── Leads Dashboard v2 ─────────────────────────────────────────── */
#p-app.jos-pixel.jos-leads-mode{
  --jos-ld-rail:240px;
  --jos-ld-bg:#F8F9FC;
}
#p-app.jos-pixel.jos-leads-mode .app-main{margin-left:var(--nav);background:var(--jos-ld-bg)}
#p-app.jos-pixel.jos-leads-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-leads-mode #v-leads.body,
#p-app.jos-pixel.jos-leads-mode #jos-leads-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:hidden;background:var(--jos-ld-bg);
}
#p-app.jos-pixel.jos-leads-mode .app-nav{width:var(--nav)}
#p-app.jos-pixel.jos-leads-mode .ni.active{background:var(--jos-brand)}

.jos-ld-shell{
  height:100vh;max-width:100%;width:100%;margin:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;
  background:var(--jos-ld-bg,#F8F9FC);animation:none;
}
.jos-ld-page{
  flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  padding:18px 24px 0;max-width:1728px;width:100%;margin:0 auto;box-sizing:border-box;
  animation:josHomeIn .28s ease both;
}
.jos-ld-header{
  min-height:0;flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  margin-bottom:12px;flex-wrap:wrap;background:transparent;border:0;position:static;height:auto;padding:0;
}
.jos-ld-header h1,.jos-ld-header .hub-page-title{
  margin:0;font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--jos-navy);
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
.jos-ld-header p,.jos-ld-header .hub-page-sub{margin:6px 0 0;font-size:13px;color:var(--jos-ink-2)}
.jos-ld-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}
.jos-ld-export{
  min-width:120px;height:44px;background:#fff;border:1px solid var(--jos-border);border-radius:12px;font-weight:750;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .2s;
}
.jos-ld-export:hover,.jos-ld-new:hover,.jos-ld-bulk:hover{transform:scale(1.02)}
.jos-ld-new{min-width:140px;height:44px;border-radius:12px;padding:0 16px;transition:transform .15s,background .2s}
.jos-ld-bulk{height:44px;border-radius:12px;background:#fff;border:1px solid var(--jos-border);padding:0 14px;font-weight:750}
.jos-ld-bulk-wrap{position:relative}
.jos-ld-bulk-menu{
  position:absolute;top:52px;right:0;z-index:30;width:180px;background:#fff;border:1px solid var(--jos-border);
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:6px;
}
.jos-ld-bulk-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-ld-bulk-menu button:hover{background:var(--jos-brand-soft)}

.jos-ld-overflow-wrap{position:relative;flex-shrink:0}
.jos-ld-overflow-menu{
  position:absolute;top:38px;right:0;z-index:30;width:170px;background:#fff;border:1px solid var(--jos-border);
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:6px;
}
.jos-ld-overflow-menu button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);display:flex;align-items:center;gap:8px;
}
.jos-ld-overflow-menu button:hover{background:#F5F6F7}

/* Floating bulk-action bar (Leads table) — appears once rows are actually
   checked, not the moment "Bulk Actions" is toggled, and floats centered
   over the content area (offsetting for the left nav rail) instead of
   anchoring to the toolbar button that opened select-mode. */
.jos-ld-bulk-bar{
  position:fixed;left:calc(50% + var(--nav, 220px) / 2);bottom:24px;transform:translateX(-50%);
  z-index:120;display:flex;align-items:center;gap:4px;padding:8px;border-radius:14px;
  background:#fff;border:1px solid #ECECEC;box-shadow:0 16px 40px rgba(15,23,42,.16);
  animation:josLdBulkBarIn .16s ease both;
}
@keyframes josLdBulkBarIn{from{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.jos-ld-bulk-bar-count{padding:0 10px;font-size:12.5px;font-weight:700;color:var(--jos-navy);white-space:nowrap}
.jos-ld-bulk-bar-sep{width:1px;align-self:stretch;margin:4px 2px;background:#EDEEF1}
.jos-ld-bulk-bar > button{
  appearance:none;border:0;background:transparent;padding:8px 12px;border-radius:9px;
  font:inherit;font-size:12.5px;font-weight:650;color:var(--jos-navy);cursor:pointer;white-space:nowrap;
  transition:background-color .12s ease;
}
.jos-ld-bulk-bar > button:hover{background:#F5F6F7}
.jos-ld-bulk-bar-danger{color:#B42318!important}
.jos-ld-bulk-bar-danger:hover{background:#FEF3F2!important}
.jos-ld-bulk-bar .jos-icon-btn{margin-left:2px}
.jos-ld-bulk-bar .jos-ld-select-inline{height:32px;font-size:12.5px}
@media(max-width:1023px){.jos-ld-bulk-bar{left:50%}}

.jos-ld-toolbar{
  display:flex;flex-direction:column;gap:8px;margin-bottom:10px;flex-shrink:0;padding:0;
}
.jos-ld-title{
  margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--jos-navy);
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
/* Search is the dominant control on the page — full width, taller, and
   visually first, not one input tucked among a row of dropdowns. */
.jos-ld-toolbar .jos-ld-filter-search-main{
  width:100%;height:44px;display:flex;align-items:center;
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:0 16px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.jos-ld-toolbar .jos-ld-filter-search-main:focus-within{
  border-color:var(--jos-brand);box-shadow:0 0 0 3px rgba(217,99,45,.12);
}
.jos-ld-toolbar .jos-ld-filter-search-main input{border:0;outline:0;width:100%;background:transparent;font:inherit;font-size:14.5px}
.jos-ld-toolbar .jos-ld-filter-search-main input::placeholder{color:#A6ACB6}
/* Everything else — filters, +New Lead, overflow — is secondary: a
   smaller row under the search bar, right-aligned. */
.jos-ld-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.jos-ld-toolbar .jos-ld-dd{
  width:auto;min-width:110px;max-width:160px;height:32px;border:1px solid var(--jos-border);border-radius:9px;background:#fff;
  padding:0 10px;font:inherit;font-size:12px;font-weight:650;color:var(--jos-navy);
}
.jos-ld-toolbar .jos-ld-new{min-width:0;height:32px;padding:0 14px;border-radius:9px;font-size:12.5px}
.jos-ld-toolbar-actions > .jos-btn-sm{height:32px;border-radius:9px}
.jos-ld-toolbar .jos-ld-overflow-wrap .jos-icon-btn{width:32px;height:32px;border:1px solid var(--jos-border);border-radius:9px;background:#fff}

/* One light line, not a row of cards — Attio-style ambient context:
   "Total 2 • New 2 • Qualified 0 ..." rather than boxed KPI tiles. */
.jos-ld-kpis{
  display:flex;align-items:center;gap:6px;margin:0 0 10px;flex-shrink:0;flex-wrap:wrap;
  font-size:12px;color:#9CA3AF;
}
.jos-ld-kpi-chip{font-weight:500;color:#9CA3AF}
.jos-ld-kpi-chip strong{color:var(--jos-ink-2);font-weight:700;margin-left:3px}
.jos-ld-kpi-sep{color:#D8DBE0;font-size:9px}
.jos-ld-status-tabs{
  display:flex;gap:4px;padding:0;margin:0 0 8px;flex-shrink:0;overflow:auto;scrollbar-width:thin;
  border-bottom:1px solid var(--jos-border);height:36px;align-items:stretch;
}
.jos-ld-stab{
  appearance:none;border:0;background:transparent;padding:0 10px;border-radius:0;
  font:inherit;font-size:12.5px;font-weight:750;color:var(--jos-ink-3);cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;
}
.jos-ld-stab em{font-style:normal;font-weight:650;opacity:.75}
.jos-ld-stab:hover{color:var(--jos-navy);background:transparent}
.jos-ld-stab.on{
  background:transparent;color:var(--jos-brand);border-radius:0;border-bottom-color:var(--jos-brand);
  box-shadow:none;
}
.jos-ld-stab.recover{background:transparent;color:#9A3412}
.jos-ld-stab.recover.on{background:transparent;color:var(--jos-brand);border-bottom-color:var(--jos-brand)}
/* Recovery is a workflow (a filter tab + a header description line + one
   quick-action button), not the biggest object on the page — no banner. */
.jos-ld-card.recover{border-color:#FDBA74;background:#FFFBF5}
.jos-ld-card.recover.on{border-color:var(--jos-brand);background:var(--jos-brand-soft)}
.jos-ld-ava.recover{background:linear-gradient(145deg,#F97316,#D9632D)}

.jos-ld-filters{
  display:none;
}
.jos-ld-filter-search{
  flex:1;min-width:180px;height:40px;display:flex;align-items:center;
  border:1px solid var(--jos-border);border-radius:12px;background:#fff;padding:0 12px;
  transition:box-shadow .12s ease,border-color .12s ease;
}
.jos-ld-filter-search input{border:0;outline:0;width:100%;font:inherit;font-size:13px;background:transparent}
.jos-ld-filter-search:focus-within{border-color:#9CA8BD;box-shadow:0 0 0 3px rgba(100,116,139,.14)}
.jos-ld-dd{
  height:40px;min-width:140px;border:1px solid var(--jos-border);border-radius:12px;background:#fff;
  padding:0 12px;font:inherit;font-size:12px;font-weight:650;color:var(--jos-navy);
  transition:box-shadow .12s ease,border-color .12s ease;
}
.jos-ld-dd:focus-visible,.jos-ld-sort:focus-visible{
  outline:none;border-color:#9CA8BD;box-shadow:0 0 0 3px rgba(100,116,139,.14);
}

/* Flex, not grid: the table (.jos-ld-inbox) is flex:1 and the panel
   (.jos-ld-main) has an explicit, transitioned width. Because flex
   continuously recomputes how much space flex:1 gets from whatever's
   left, animating the panel's own width is enough to make the table
   visibly resize in lockstep — no separate transition needed on the
   table side, no grid-template-columns animation (unreliable across
   engines for that property). This is what makes "table shrinks to
   make room" / "table expands back to full width" actually animate
   instead of snapping — a table-primary layout by default: the panel
   claims space only while it's genuinely open, and even then it's a
   single ~400px pane, not two stacked side panels.  */
.jos-ld-layout{
  flex:1;min-height:0;display:flex;gap:10px;
  padding:0;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;
}
.jos-ld-inbox,.jos-ld-main{min-height:0}
.jos-ld-inbox{flex:1;min-width:0}
/* No card chrome — no border, shadow, or rounded corners. With as few as
   one or two leads, a bordered box just draws a frame around a mostly-
   empty rectangle and makes the page read as unfinished. Letting the
   table sit directly on the page background, filling the full height,
   is what makes it feel like the application instead of a widget on top
   of one. */
.jos-ld-inbox{
  background:transparent;display:flex;flex-direction:column;overflow:hidden;
}
.jos-ld-inbox-head{
  display:flex;justify-content:space-between;align-items:center;padding:0 0 8px;flex-shrink:0;
  border-bottom:1px solid rgba(15,23,42,.06);margin-bottom:2px;
}
.jos-ld-inbox-head strong{font-size:12.5px;font-weight:650;color:var(--jos-ink-2)}
/* Compact and borderless — reads as "Table ▾  Sort ▾" next to the row
   count, part of the table's own header rather than a separate toolbar. */
.jos-ld-sort{
  height:28px;border:0;background:transparent;border-radius:7px;
  font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-2);padding:0 6px;cursor:pointer;
  transition:background-color .12s ease;
}
.jos-ld-sort:hover{background:#F5F6F7}
.jos-ld-list{flex:1;overflow:auto;padding:0 10px 10px;display:grid;gap:8px;align-content:start}
.jos-ld-view-toggle{display:inline-flex;border:0;border-radius:7px;overflow:hidden;margin-left:auto;gap:2px}
.jos-ld-view-btn{
  appearance:none;border:0;background:transparent;border-radius:7px;padding:5px 10px;
  font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-3);cursor:pointer;
  transition:background-color .12s ease,color .12s ease;
}
.jos-ld-view-btn:hover{background:#F5F6F7}
.jos-ld-view-btn.on{background:var(--jos-brand-soft);color:var(--jos-brand)}
.jos-ld-view-btn.on:hover{background:var(--jos-brand-soft)}
.jos-ld-table-wrap{flex:1;overflow:auto;position:relative;max-width:100%}
.jos-ld-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;table-layout:fixed}
.jos-ld-table thead th{
  position:sticky;top:0;z-index:2;text-align:left;padding:0 16px;height:32px;
  font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:#9CA3AF;
  background:#fff;border-bottom:1px solid rgba(15,23,42,.07);white-space:nowrap;
  transition:box-shadow .15s ease;
}
.jos-ld-table-wrap.is-scrolled thead th{box-shadow:0 1px 0 rgba(15,23,42,.07),0 6px 12px -6px rgba(15,23,42,.06)}
.jos-ld-table td{height:44px;padding:0 16px;border-bottom:1px solid rgba(15,23,42,.04);vertical-align:middle;line-height:1.4;overflow:hidden;color:#3D4451}
.jos-ld-table td strong{color:#141B2B;font-weight:650}
.jos-ld-table td[role="gridcell"]{outline:none}
.jos-ld-table td[role="gridcell"]:focus-visible{
  outline:none;box-shadow:inset 0 0 0 2px #6B7280;background:#F9FAFB;
}
.jos-ld-trow{cursor:pointer;transition:background-color .12s ease;position:relative}
.jos-ld-trow:hover{background:rgba(15,23,42,.035)}
/* Selected = Hubly's own accent, not a generic system blue: a soft warm
   tint plus a real 3px rail on the left, not a hairline. Reads as "this
   row" without shouting like a call-to-action pill would. */
.jos-ld-trow.on{background:#FFF6EF;box-shadow:inset 3px 0 0 var(--jos-brand)}
.jos-ld-trow.on:hover{background:#FFEFE2}
.jos-ld-tcheck{width:32px}
/* Real checkbox styling, not browser-default — none of Hubly's checkboxes
   (Jobs' and Leads' bulk-select, settings toggles) had any appearance CSS
   at all, so they only looked "right" when a browser extension happened to
   restyle native form controls. Incognito (most extensions off) revealed
   the true look: plain, heavy-bordered native boxes. appearance:none takes
   full control so this renders identically everywhere, on-brand. */
input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  width:16px;height:16px;margin:0;flex-shrink:0;
  border:1.5px solid #D0D5DD;border-radius:5px;background:#fff;
  cursor:pointer;position:relative;display:inline-block;vertical-align:middle;
  transition:background-color .12s ease,border-color .12s ease;
}
input[type="checkbox"]:hover{border-color:#98A2B3}
input[type="checkbox"]:checked{background:var(--jos-brand);border-color:var(--jos-brand)}
input[type="checkbox"]:checked::after{
  content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
input[type="checkbox"]:focus-visible{outline:2px solid var(--jos-brand);outline-offset:2px}
input[type="checkbox"]:disabled{opacity:.5;cursor:not-allowed}

/* Column headers — drag to reorder, double-click label to rename, ▾ to hide.
   A faint hover tint on the whole cell (not just the resize handle/menu
   button) is what makes the row feel alive before anything is clicked. */
.jos-ld-th{position:relative;cursor:grab;user-select:none;transition:background-color .16s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease}
.jos-ld-th:hover{background:#FAFAFB}
.jos-ld-th.is-dragging{opacity:.55;transform:scale(.98);box-shadow:0 6px 16px rgba(15,23,42,.14);background:#fff}
.jos-ld-th.drop-target{background:#F5F6F7}
.jos-ld-th.drop-target::after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#7C8291}
.jos-ld-th-label{overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:calc(100% - 14px);vertical-align:middle;cursor:text}
.jos-ld-th-rename-input{
  height:22px;max-width:calc(100% - 14px);border:1px solid #9CA8BD;border-radius:6px;padding:0 6px;
  font:inherit;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--jos-navy);
  background:#fff;box-shadow:0 0 0 3px rgba(100,116,139,.14);vertical-align:middle;
}
.jos-ld-th-menu-btn{
  appearance:none;border:0;background:transparent;color:#9CA3AF;font-size:10px;cursor:pointer;
  margin-left:4px;padding:2px 3px;border-radius:4px;opacity:0;transition:opacity .15s ease,background-color .12s ease;
}
.jos-ld-th:hover .jos-ld-th-menu-btn,.jos-ld-th.menu-open .jos-ld-th-menu-btn{opacity:1}
.jos-ld-th-menu-btn:hover{background:#EEF0F2}
.jos-ld-th-add{width:36px;text-align:center;position:relative}
.jos-ld-col-resize{
  position:absolute;top:0;right:0;bottom:0;width:7px;cursor:col-resize;z-index:1;
}
.jos-ld-col-resize::after{content:'';position:absolute;top:6px;bottom:6px;right:2px;width:2px;border-radius:2px;background:transparent;transition:background-color .12s ease}
.jos-ld-th:hover .jos-ld-col-resize::after{background:#E1E4E9}
.jos-ld-col-resize:hover::after,.jos-ld-col-resize.is-resizing::after{background:#6B7280}
.jos-ld-table col{transition:width .12s ease}
.jos-ld-table col.jos-no-resize-anim{transition:none}
.jos-ld-col-menu{
  position:fixed;z-index:500;min-width:180px;
  background:#fff;border:1px solid #ECEDEF;border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.1);
  padding:8px;display:flex;flex-direction:column;gap:6px;text-transform:none;letter-spacing:normal;
  visibility:hidden;
}
.jos-ld-col-menu.jos-positioned{visibility:visible}
.jos-ld-col-menu > button{
  appearance:none;border:0;background:transparent;text-align:left;padding:8px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:600;color:var(--jos-navy);cursor:pointer;text-transform:none;letter-spacing:normal;
  transition:background-color .1s ease;
}
.jos-ld-col-menu > button:hover{background:#F5F6F7}
.jos-ld-col-menu > button:disabled{color:#C7CCD3;cursor:default}
.jos-ld-col-menu > button:disabled:hover{background:transparent}
.jos-ld-col-menu-sep{height:1px;background:#EDEEF1;margin:2px 0}
.jos-ld-col-menu-label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--jos-ink-3);padding:6px 8px 2px}
.jos-ld-col-menu-danger{color:#B42318!important}
.jos-ld-col-menu-danger:hover{background:#FEF3F2!important}

/* Inline "Add custom field" form — lives inside the same popover the "+"
   button opens, no window.prompt() chain and no separate settings page. */
.jos-ld-addfield-menu{min-width:240px;padding:10px}
.jos-ld-addfield-title{font-size:12.5px;font-weight:750;color:var(--jos-navy);padding:0 2px 2px}
.jos-ld-addfield-input{
  width:100%;height:32px;border:1px solid var(--jos-border);border-radius:8px;background:#fff;
  padding:0 10px;font:inherit;font-size:13px;color:var(--jos-navy);box-sizing:border-box;
}
.jos-ld-addfield-input:focus{outline:0;border-color:#9CA8BD;box-shadow:0 0 0 3px rgba(100,116,139,.14)}
.jos-ld-addfield-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}

/* Shared custom dropdown — replaces the native <select> everywhere a
   select-type column is edited (Status, Service, Technician, Deposit,
   Leads' Source/Owner/etc.). One component, one visual language,
   instead of the OS's own dropdown breaking the app's design language
   mid-flow. Same fixed-position/jos-positioned pattern as
   .jos-ld-col-menu so it never gets clipped by a scrolling ancestor. */
.jos-combo-pop{
  position:fixed;z-index:520;background:#fff;border:1px solid #ECEDEF;border-radius:12px;
  box-shadow:0 12px 32px rgba(15,23,42,.12);padding:6px;display:flex;flex-direction:column;
  visibility:hidden;overflow:hidden;
}
.jos-combo-pop.jos-positioned{visibility:visible}
.jos-combo-search{
  width:100%;height:34px;border:1px solid var(--jos-border);border-radius:8px;background:#F8F9FA;
  padding:0 10px;font:inherit;font-size:13px;color:var(--jos-navy);box-sizing:border-box;margin-bottom:6px;flex-shrink:0;
}
.jos-combo-search:focus{outline:0;border-color:#9CA8BD;background:#fff;box-shadow:0 0 0 3px rgba(100,116,139,.14)}
.jos-combo-list{overflow-y:auto;max-height:250px;display:flex;flex-direction:column;gap:1px}
.jos-combo-opt{
  appearance:none;border:0;background:transparent;text-align:left;padding:0 10px;min-height:40px;border-radius:8px;
  font:inherit;font-size:13.5px;font-weight:600;color:var(--jos-navy);cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:8px;flex-shrink:0;
}
.jos-combo-opt:hover{background:#F5F6F7}
.jos-combo-opt.on{background:#FFF6EF;color:var(--jos-brand)}
.jos-combo-opt.on::after{content:"✓";font-size:12px;color:var(--jos-brand)}
.jos-combo-empty{padding:10px;font-size:12.5px;color:var(--jos-ink-3);text-align:center}
.jos-combo-create{border-top:1px solid #EDEEF1;margin-top:4px;padding-top:4px;flex-shrink:0}
.jos-combo-create > button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;
  font:inherit;font-size:13px;font-weight:650;color:var(--jos-brand);cursor:pointer;
}
.jos-combo-create > button:hover{background:#FFF6EF}

/* Status pill — click opens the dropdown, same as every other select
   column. Cursor states across every cell type match what a click
   actually does: pointer for "opens a picker," text for "starts typing." */
.jos-ld-status-pill{
  display:inline-flex;align-items:center;height:24px;border-radius:999px;padding:0 10px;font-size:11px;font-weight:650;
  cursor:pointer;background:#F1F2F4;color:#5B6270;
}
.jos-ld-status-pill.ok{background:#EFFAF3;color:#1E8A4C}
.jos-ld-status-pill.brand{background:#EEF1F5;color:#4B5565}
.jos-ld-status-pill.info{background:#EFF4FC;color:#3465C4}
.jos-ld-status-pill.warn{background:#FBF3EC;color:#B4692D}
.jos-ld-status-pill.mute{background:#F1F2F4;color:#8B909A}
.jos-ld-tags-cell{display:inline-flex;flex-wrap:wrap;gap:4px;cursor:text;max-width:100%}
.jos-ld-tags-cell.is-empty{color:#9CA3AF;font-weight:500}
.jos-ld-tag-chip{
  display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;
  background:#F1F2F4;color:#5B6270;font-size:11px;font-weight:650;white-space:nowrap;
}
.jos-ld-name-cell,.jos-ld-contact-cell,.jos-ld-url-cell{cursor:text;display:inline-block;max-width:100%}
.jos-ld-name-cell.is-empty,.jos-ld-contact-cell.is-empty,.jos-ld-url-cell.is-empty{color:#9CA3AF;font-weight:500}
/* Empty cells sit quiet as "—" until hovered — "Click to add" repeated
   down every empty cell in a column reads as noise, not information. */
.jos-ld-name-cell.is-empty::after,.jos-ld-contact-cell.is-empty::after,.jos-ld-url-cell.is-empty::after,
.jos-je-field-value.is-empty::after{
  content:"+ Add";margin-left:6px;color:var(--jos-brand);font-weight:650;font-size:12px;
  opacity:0;transition:opacity .1s ease;
}
.jos-ld-name-cell.is-empty:hover::after,.jos-ld-contact-cell.is-empty:hover::after,.jos-ld-url-cell.is-empty:hover::after,
.jos-je-field-value.is-empty:hover::after{opacity:1}
/* The name is the record — reads like a link, opens the panel on click. */
.jos-ld-name-link{cursor:pointer;font-weight:650;color:var(--jos-navy);transition:color .12s ease}
.jos-ld-name-link:hover{color:var(--jos-brand);text-decoration:underline;text-underline-offset:2px}
/* Select-type fallback (Service, Assigned without a tone) opens a
   dropdown, not a text field — pointer, not text, overriding the shared
   .jos-ld-name-cell rule above via source order. */
.jos-ld-select-cell{cursor:pointer}
.jos-ld-url-cell{color:#2563EB;text-decoration:underline;text-underline-offset:2px}
.jos-ld-checkbox-cell{cursor:pointer;display:inline-block;font-size:16px;line-height:1;color:#9CA3AF}
.jos-ld-checkbox-cell.is-checked{color:var(--jos-brand)}

/* Inline-editable cells — only shown mid-edit. <select> (status/assigned)
   keeps the tone-colored pill shape; plain <input> (text/phone/email/
   url/number/date) gets a soft rounded field instead — a filled grey
   pill read as "old HTML form" for free text, not a picker. */
.jos-ld-cell-inline{
  appearance:none;font:inherit;cursor:pointer;max-width:100%;
  transition:box-shadow .15s ease,border-color .15s ease,background-color .15s ease;
}
select.jos-ld-cell-inline{
  height:26px;border-radius:999px;padding:0 10px;font-size:11px;font-weight:650;
  border:1px solid #E5E7EB;background:#F1F2F4;color:#5B6270;
}
select.jos-ld-cell-inline:hover{border-color:#D5D8DD}
select.jos-ld-cell-inline:focus{outline:none;border-color:#F0A87A;box-shadow:0 0 0 3px rgba(217,99,45,.14)}
select.jos-ld-cell-inline.ok{background:#EFFAF3;color:#1E8A4C;border-color:#CFEFDB}
select.jos-ld-cell-inline.brand{background:#EEF1F5;color:#4B5565;border-color:#E1E4E9}
select.jos-ld-cell-inline.info{background:#EFF4FC;color:#3465C4;border-color:#D6E3F8}
select.jos-ld-cell-inline.warn{background:#FBF3EC;color:#B4692D;border-color:#F1DEC8}
select.jos-ld-cell-inline.mute{background:#F1F2F4;color:#8B909A;border-color:#E5E7EB}
select.jos-ld-cell-inline[data-jos-field="assignedTo"]{
  background:transparent;border-color:transparent;font-weight:550;color:var(--jos-navy);padding:0 6px 0 0;
}
select.jos-ld-cell-inline[data-jos-field="assignedTo"]:hover{background:#F5F6F7;border-color:#EEF0F2}
input.jos-ld-cell-inline{
  height:32px;border-radius:8px;padding:0 10px;font-size:13.5px;font-weight:500;cursor:text;
  border:1px solid var(--jos-border);background:#fff;color:var(--jos-navy);width:100%;box-sizing:border-box;
}
input.jos-ld-cell-inline:hover{border-color:#D5D8DD}
input.jos-ld-cell-inline:focus{
  outline:none;border-color:var(--jos-brand);box-shadow:0 0 0 3px rgba(217,99,45,.14);
}
.jos-ld-time-edit-wrap{display:flex;align-items:center;gap:4px;width:100%}
.jos-ld-time-edit-wrap input.jos-ld-cell-inline{flex:1;min-width:0}
.jos-ld-time-clock-btn{
  flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--jos-border);border-radius:7px;background:#fff;color:var(--jos-ink-3);cursor:pointer;
}
.jos-ld-time-clock-btn:hover{border-color:rgba(217,99,45,.35);color:var(--jos-brand);background:#FFF8F3}
.jos-ld-card-wrap{display:flex;align-items:center;gap:8px}
.jos-ld-card-wrap.bulk-open .jos-ld-card{flex:1}
.jos-ld-card-check{display:flex;align-items:center;padding:0 2px;cursor:pointer;flex-shrink:0}
.jos-ld-card-check input{width:16px;height:16px;cursor:pointer}
.jos-ld-card{
  position:relative;min-height:88px;height:auto;padding:12px 14px 12px 16px;border-radius:16px;border:1px solid #E5E7EB;
  background:#fff;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;
  appearance:none;width:100%;text-align:left;font:inherit;cursor:pointer;color:inherit;
  transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;
}
.jos-ld-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.06);border-color:var(--jos-border)}
.jos-ld-card.on{
  border-color:var(--jos-brand);background:var(--jos-brand-soft);
  box-shadow:0 8px 24px rgba(217,99,45,.12);
}
.jos-ld-unread{
  position:absolute;left:6px;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:50%;background:#2563EB;
}
.jos-ld-ava{
  width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#2A3348,#141B2B);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;
}
.jos-ld-ava.lg{width:52px;height:52px;font-size:15px}
.jos-ld-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.jos-ld-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.jos-ld-card-top strong{font-size:14px;font-weight:800;color:#141B2B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-ld-card-sub{font-size:12px;font-weight:650;color:#4B5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-ld-preview{
  font-size:12px;color:var(--jos-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.jos-ld-card-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#6B7280;font-weight:650}
.jos-ld-loadmore,.jos-ld-end{margin:8px 12px 14px}
.jos-ld-empty-list{padding:32px 16px;text-align:center;color:var(--jos-ink-2)}
.jos-ld-empty-list strong{display:block;color:var(--jos-navy);margin-bottom:6px}
/* Table view, zero rows — the header/columns stay real (still draggable,
   resizable, the +column button still works) instead of the whole table
   disappearing behind an unrelated-looking placeholder screen. */
.jos-ld-empty-row td{border-bottom:0;padding:0;height:auto}
.jos-ld-empty-table{padding:56px 16px;text-align:center;color:var(--jos-ink-2)}
.jos-ld-empty-table strong{display:block;color:var(--jos-navy);margin-bottom:6px;font-size:14px}
.jos-ld-empty-table p{margin:0 0 14px;font-size:13px}

/* Starts at width:0 (collapsed, invisible, not interactable) and is
   flipped to .is-open one frame after insertion — see
   animateLeadsPanelOpen(). Width is what drives the table's resize
   (flex:1 sibling), transform+opacity are the actual "slide" feel. */
.jos-ld-main{
  background:#fff;border:1px solid #ECECEC;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.04);
  overflow:hidden;padding:0;flex:0 0 auto;width:0;opacity:0;transform:translateX(10px);
  transition:width .2s ease,opacity .16s ease,transform .2s ease;
}
.jos-ld-main.is-open{width:340px;opacity:1;transform:translateX(0);overflow:auto}
@media(max-width:1279px){.jos-ld-main.is-open{width:300px}}
@media (prefers-reduced-motion:reduce){.jos-ld-main{transition:none}}
.jos-ld-workspace{display:flex;flex-direction:column;min-height:100%}
.jos-ld-ws-head{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px 16px 10px;flex-wrap:wrap;
}
.jos-ld-ws-identity{display:flex;gap:10px;align-items:center}
.jos-ld-ws-name{display:flex;align-items:center;gap:8px}
.jos-ld-ws-name strong{font-size:16px;font-weight:800;color:var(--jos-navy);letter-spacing:-.02em}
/* Renaming lives here now, not the table — same click-to-edit feel as
   the Status/Assigned To fields just below it. */
.jos-ld-ws-name-btn{appearance:none;border:0;background:transparent;padding:2px 4px;margin:-2px -4px;border-radius:7px;cursor:pointer;transition:background-color .12s ease}
.jos-ld-ws-name-btn:hover{background:#F5F6F7}
.jos-ld-name-input{
  height:28px;font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--jos-navy);
  border:1px solid var(--jos-border);border-radius:7px;padding:0 8px;font-family:inherit;background:#fff;
}
.jos-ld-name-input:focus{outline:0;border-color:var(--jos-brand);box-shadow:0 0 0 3px rgba(217,99,45,.14)}
.jos-ld-status-badge{appearance:none;border:0;cursor:pointer;transition:filter .12s ease}
.jos-ld-status-badge:hover{filter:brightness(.96)}
.jos-ld-select-inline{height:24px;font-size:11px;padding:0 8px;border-radius:999px}
/* Quick Actions — compact icon buttons only, nothing that reads as a form. */
.jos-ld-qa{display:flex;gap:4px;padding:0 16px 12px}
.jos-ld-qa-recover{color:#B4692D}
.jos-ld-qa-recover:hover{background:#FBF3EC}
.jos-ld-ws-tabs{
  display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--jos-border);overflow:auto;flex-shrink:0;
}
.jos-ld-ws-tab{
  appearance:none;border:0;background:transparent;padding:9px 10px;font:inherit;font-size:12.5px;font-weight:750;
  color:var(--jos-ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;
  transition:color .2s,border-color .2s;
}
.jos-ld-ws-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}
.jos-ld-ws-body{padding:14px 16px 20px;display:grid;gap:14px}
.jos-ld-empty-ws{padding:64px 24px;text-align:center}
.jos-ld-empty-art{
  width:72px;height:72px;margin:0 auto 16px;border-radius:20px;
  background:linear-gradient(145deg,#FFF4ED,#FFE8D9);border:1px solid rgba(217,99,45,.18);
}
/* A persistent, always-visible read-only section below whichever tab is
   active — not a floating card, just the next section of the same panel. */
.jos-ld-info{padding:12px 16px 16px;border-top:1px solid #F3F4F6}
/* Label above value, never a cramped horizontal split — a fixed-width
   label column was forcing long values (emails especially) to wrap
   character-by-character in a ~150px-wide detail panel. */
.jos-ld-field{
  display:flex;flex-direction:column;gap:3px;align-items:flex-start;
  padding:8px 0;border-bottom:1px solid #F3F4F6;font-size:13px;
}
.jos-ld-field span{color:#9CA3AF;font-weight:600;font-size:12px;text-transform:none;letter-spacing:0}
.jos-ld-field strong{color:#141B2B;font-weight:650;text-align:left;overflow-wrap:anywhere;line-height:1.4}
.jos-ld-field.is-empty strong{color:#9CA3AF;font-weight:600}
.jos-ld-edit{display:none}
.jos-ld-field.clickable{cursor:pointer}
.jos-ld-field.clickable:hover{background:#F9FAFB;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}
.jos-leads-paste{
  display:grid;gap:8px;margin:0 0 14px;padding:12px;border:1px dashed rgba(217,99,45,.35);
  border-radius:12px;background:#FFF7ED;
}
.jos-leads-paste label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#9A3412}
.jos-leads-paste textarea{width:100%;min-height:72px;border:1px solid #FED7AA;border-radius:10px;padding:10px;font:inherit;background:#fff;color:#141B2B;box-sizing:border-box}
.jos-leads-paste-hint{margin:0;font-size:11px;color:#9A3412}
.jos-ld-score-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.jos-ld-ring{
  --p:70;width:120px;height:120px;border-radius:50%;margin:12px 0 16px;
  background:conic-gradient(var(--jos-brand) calc(var(--p) * 1%), #EEF0F3 0);
  display:flex;align-items:center;justify-content:center;
}
.jos-ld-ring.tone-ok{background:conic-gradient(#15803D calc(var(--p) * 1%), #EEF0F3 0)}
.jos-ld-ring.tone-warn{background:conic-gradient(#D97706 calc(var(--p) * 1%), #EEF0F3 0)}
.jos-ld-ring.tone-hot{background:conic-gradient(#DC2626 calc(var(--p) * 1%), #EEF0F3 0)}
.jos-ld-ring-inner{
  width:92px;height:92px;border-radius:50%;background:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
}
.jos-ld-ring-inner strong{font-size:28px;font-weight:800;color:var(--jos-navy);letter-spacing:-.03em}
.jos-ld-ring-inner span{font-size:11px;font-weight:800;color:#15803D;text-transform:uppercase}
.jos-ld-ring.tone-warn .jos-ld-ring-inner span{color:#D97706}
.jos-ld-ring.tone-hot .jos-ld-ring-inner span{color:#DC2626}
.jos-ld-check{list-style:none;margin:0;padding:0;width:100%;text-align:left;display:grid;gap:8px}
.jos-ld-check li{font-size:12px;font-weight:650;color:var(--jos-ink-3)}
.jos-ld-check li.done{color:#15803D}
.jos-ld-msg-card p{margin:8px 0 12px;font-size:14px;color:var(--jos-navy);line-height:1.45}
.jos-ld-ai-card{border-color:rgba(217,99,45,.25);background:linear-gradient(180deg,#FFF9F5,#fff)}
.jos-ld-ai-badge{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,#7C3AED,#D9632D);color:#fff;font-size:11px;font-weight:800;margin-bottom:10px;
}
.jos-ld-ai-card strong{display:block;font-size:15px;color:var(--jos-navy);margin-bottom:6px}
.jos-ld-ai-card p{margin:0 0 14px;font-size:13px;color:var(--jos-ink-2);line-height:1.5}
.jos-ld-timeline{display:grid;gap:4px}
.jos-ld-tl{
  display:grid;grid-template-columns:12px 1fr;gap:12px;width:100%;appearance:none;border:0;background:transparent;
  text-align:left;padding:10px 0;font:inherit;cursor:pointer;color:var(--jos-navy);border-bottom:1px solid var(--jos-border);
}
.jos-ld-tl i{width:10px;height:10px;border-radius:50%;background:var(--jos-brand);margin-top:4px;box-shadow:0 0 0 3px rgba(217,99,45,.15)}
.jos-ld-tl span{display:flex;flex-direction:column;gap:2px;font-size:13px}

.jos-ld-rail{display:flex;flex-direction:column;gap:16px;overflow:auto}
.jos-ld-widget{
  background:#fff;border:1px solid #ECECEC;border-radius:16px;padding:20px 24px;
  box-shadow:0 8px 30px rgba(0,0,0,.04);transition:transform .15s,box-shadow .15s;
}
.jos-ld-widget:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.07)}
.jos-ld-select{
  width:100%;height:42px;margin-top:8px;border:1px solid var(--jos-border);border-radius:12px;
  padding:0 12px;font:inherit;font-size:13px;font-weight:650;background:#fff;color:var(--jos-navy);
}
.jos-ld-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.jos-ld-tag{
  appearance:none;border:0;height:28px;padding:0 10px;border-radius:999px;font:inherit;font-size:11px;font-weight:750;
  background:#EEF2FF;color:#4338CA;cursor:pointer;
}
.jos-ld-tag.add{background:var(--jos-surface-2);color:var(--jos-ink-2)}
.jos-ld-summary{width:100%;text-align:left;font:inherit;cursor:pointer;color:inherit}
.jos-ld-sum-num{font-size:36px;font-weight:800;color:var(--jos-navy);letter-spacing:-.04em;margin-top:4px}
.jos-ld-sum-trend .up{font-size:12px;font-weight:750;color:#15803D}
.jos-ld-spark{display:flex;align-items:flex-end;gap:4px;height:40px;margin-top:12px}
.jos-ld-spark i{flex:1;background:linear-gradient(180deg,rgba(217,99,45,.55),rgba(217,99,45,.15));border-radius:3px 3px 0 0}
.jos-ld-pipe{display:grid;gap:8px;margin-top:10px}
.jos-ld-pipe-row{
  display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;width:100%;
  appearance:none;border:0;background:transparent;font:inherit;font-size:12px;font-weight:650;
  color:var(--jos-ink-2);cursor:pointer;padding:0;text-align:left;
}
.jos-ld-pipe-row .n{font-weight:800;color:var(--jos-navy)}
.jos-ld-pipe-row .bar{grid-column:1/-1;height:8px;border-radius:999px;background:var(--jos-surface-2);overflow:hidden}
.jos-ld-pipe-row .bar i{display:block;height:100%;border-radius:999px;background:var(--jos-brand)}
.jos-ld-pipe-row .bar i.tone-ok{background:#15803D}
.jos-ld-pipe-row .bar i.tone-info{background:#2563EB}
.jos-ld-pipe-row .bar i.tone-mute{background:#9CA3AF}
.jos-ld-pipe-row .bar i.tone-brand{background:var(--jos-brand)}
.jos-ld-donut{
  --w:42;--g:28;--f:15;--r:10;--i:5;
  width:120px;height:120px;border-radius:50%;margin:12px auto;
  background:conic-gradient(
    #D9632D 0 calc(var(--w) * 1%),
    #2563EB 0 calc((var(--w) + var(--g)) * 1%),
    #7C3AED 0 calc((var(--w) + var(--g) + var(--f)) * 1%),
    #10B981 0 calc((var(--w) + var(--g) + var(--f) + var(--r)) * 1%),
    #F59E0B 0
  );
  display:flex;align-items:center;justify-content:center;
}
.jos-ld-donut-hole{
  width:72px;height:72px;border-radius:50%;background:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
}
.jos-ld-donut-hole strong{font-size:18px;color:var(--jos-navy)}
.jos-ld-donut-hole span{font-size:10px;color:var(--jos-ink-3);font-weight:700}
.jos-ld-src-legend{display:grid;gap:6px;margin-top:8px}
.jos-ld-src-row{
  display:flex;align-items:center;gap:8px;width:100%;appearance:none;border:0;background:transparent;
  font:inherit;font-size:12px;font-weight:650;color:var(--jos-ink-2);cursor:pointer;padding:4px 0;text-align:left;
}
.jos-ld-src-row i{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.jos-ld-src-row i.src-website{background:#D9632D}
.jos-ld-src-row i.src-google{background:#2563EB}
.jos-ld-src-row i.src-facebook{background:#7C3AED}
.jos-ld-src-row i.src-referral{background:#10B981}
.jos-ld-src-row i.src-instagram{background:#F59E0B}
.jos-ld-src-row strong{margin-left:auto;color:var(--jos-navy)}

.jos-ld-fab{
  display:none;position:fixed;right:18px;bottom:22px;z-index:12050;width:56px;height:56px;border-radius:50%;
  border:0;background:var(--jos-brand);color:#fff;font-size:28px;font-weight:700;cursor:pointer;
  box-shadow:0 12px 30px rgba(217,99,45,.4);
}

.jos-leads-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(400px,94vw);z-index:12600;background:#fff;
  border-left:1px solid rgba(15,23,42,.07);box-shadow:-16px 0 40px rgba(15,23,42,.08);padding:24px;
  display:grid;gap:12px;align-content:start;overflow:auto;animation:josLeadsDrawerIn .18s ease both;
}
@keyframes josLeadsDrawerIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.jos-leads-ctx{
  position:absolute;z-index:13000;min-width:220px;background:#fff;border:1px solid var(--jos-border);
  border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);padding:6px;
}
.jos-leads-ctx button{
  width:100%;appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;
  font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--jos-navy);
}
.jos-leads-ctx button:hover{background:var(--jos-brand-soft);color:var(--jos-brand-dark)}

/* Below desktop widths, the panel overlays as a fixed pane instead of
   squeezing the table via flex — same "never permanently reserve
   space" rule, just an overlay instead of a shrink at this size. */
@media(max-width:1023px){
  #p-app.jos-pixel.jos-leads-mode:not(.jos-nav-expanded){--nav:80px}
  #p-app.jos-pixel.jos-leads-mode:not(.jos-nav-expanded) .ni .ni-lbl,
  #p-app.jos-pixel.jos-leads-mode:not(.jos-nav-expanded) .nav-profile-meta{display:none!important}
  .jos-ld-page{padding:24px 16px 0}
  .jos-ld-header{gap:16px}
  .jos-ld-header h1,.jos-ld-header .hub-page-title{font-size:24px}
  .jos-ld-export,.jos-ld-new,.jos-ld-bulk{width:auto;min-width:0;padding:0 14px}
  .jos-ld-fab{display:flex;align-items:center;justify-content:center}
  .jos-ld-main{
    position:fixed;top:0;right:0;bottom:0;z-index:200;border-radius:0;
    box-shadow:-12px 0 40px rgba(0,0,0,.12);
  }
  .jos-ld-main.is-open{width:min(340px,92vw)}
}
@media(max-width:767px){
  #p-app.jos-pixel.jos-leads-mode{--nav:0px}
  #p-app.jos-pixel.jos-leads-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-leads-mode .app-main{margin-left:0}
  .jos-ld-page{padding:16px 12px 0}
  .jos-ld-layout{padding:0 0 80px}
}

/* ─── Customers CRM Command Center ───────────────────────────────── */
#p-app.jos-pixel.jos-customers-mode{
  --jos-cm-rail:340px;
  --jos-cm-bg:#F8F9FB;
}
#p-app.jos-pixel.jos-customers-mode .app-main{margin-left:var(--nav);background:var(--jos-cm-bg)}
#p-app.jos-pixel.jos-customers-mode .app-bar{display:none!important}
#p-app.jos-pixel.jos-customers-mode #v-customers.body,
#p-app.jos-pixel.jos-customers-mode #jos-customers-root{
  min-height:100vh;height:100vh;padding:0!important;overflow:auto;background:var(--jos-cm-bg,#F8F9FB);
}
#p-app.jos-pixel.jos-customers-mode .app-nav{width:var(--nav);background:linear-gradient(180deg,var(--jos-sidebar) 0%,#0C111A 100%)}
#p-app.jos-pixel.jos-customers-mode .ni.active{background:var(--jos-brand)}

.jos-cm-shell{
  min-height:100vh;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;
  background:var(--jos-cm-bg,#F8F9FB);padding:0 24px 24px;animation:josHomeIn .35s ease both;
}
.jos-cm-header{
  min-height:90px;flex-shrink:0;display:flex;align-items:center;gap:20px;padding:16px 0;
  background:transparent;position:sticky;top:0;z-index:20;
}
.jos-cm-header-left{min-width:200px}
/* Matched to .jos-ld-title/.jos-jobs-header h1 exactly — Customers' own
   34px/#111827 rule read as a different typeface scale from Jobs/Leads
   even though all three use the same font stack, which is what was
   actually reported as inconsistent. */
.jos-cm-header h1{
  margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--jos-navy);
  font-family:'Plus Jakarta Sans','DM Sans',sans-serif;
}
.jos-cm-header p{margin:6px 0 0;font-size:13px;color:var(--jos-ink-2)}
.jos-cm-global-search{
  flex:0 1 420px;width:420px;height:44px;margin:0 auto;display:flex;align-items:center;gap:8px;
  border:1px solid #E5E7EB;border-radius:12px;background:#fff;padding:0 14px;
  box-shadow:0 4px 16px rgba(0,0,0,.03);
}
.jos-cm-search-ico{
  width:16px;height:16px;border-radius:50%;border:2px solid #9CA3AF;position:relative;flex-shrink:0;
}
.jos-cm-search-ico::after{
  content:'';position:absolute;right:-3px;bottom:-3px;width:6px;height:2px;background:#9CA3AF;transform:rotate(45deg);
}
.jos-cm-global-search input{border:0;outline:0;flex:1;background:transparent;font:inherit;font-size:13px;color:#111827}
.jos-cm-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.jos-cm-add{height:44px;border-radius:12px;padding:0 16px;transition:transform .15s}
.jos-cm-import{height:44px;border-radius:12px;background:#fff;border:1px solid #E5E7EB;transition:transform .15s}
.jos-cm-add:hover,.jos-cm-import:hover{transform:scale(1.02)}
.jos-cm-ava-btn{
  width:40px;height:40px;border-radius:50%;border:0;background:#111827;color:#fff;
  font:inherit;font-size:11px;font-weight:800;cursor:pointer;
}

.jos-cm-segments{display:flex;gap:4px;overflow:auto;padding:0 0 16px;flex-shrink:0;scrollbar-width:thin}
.jos-cm-seg{
  appearance:none;border:0;background:transparent;height:40px;padding:0 14px;font:inherit;
  font-size:13px;font-weight:750;color:#6B7280;cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.jos-cm-seg em{font-style:normal;font-weight:650;opacity:.8}
.jos-cm-seg:hover{color:#111827;background:rgba(0,0,0,.03);border-radius:10px 10px 0 0}
.jos-cm-seg.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}

.jos-cm-layout{
  flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(200px,260px);gap:12px;
  overflow:hidden;width:100%;max-width:100%;
}
.jos-cm-list-card,.jos-cm-main,.jos-cm-rail{min-width:0;min-height:0}
.jos-cm-list-card{
  background:#fff;border:1px solid #E5E7EB;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.05);
  display:flex;flex-direction:column;overflow:hidden;padding:16px;
}
.jos-cm-list-tools{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.jos-cm-list-search{
  flex:1;height:40px;display:flex;align-items:center;border:1px solid #E5E7EB;border-radius:12px;padding:0 12px;background:#F9FAFB;
}
.jos-cm-list-search input{border:0;outline:0;width:100%;background:transparent;font:inherit;font-size:13px}
.jos-icon-btn.sm{width:36px;height:36px;border-radius:10px}
.jos-cm-list-filters{display:flex;gap:8px;margin-bottom:12px}
.jos-cm-dd{
  flex:1;height:36px;border:1px solid #E5E7EB;border-radius:10px;background:#fff;
  padding:0 10px;font:inherit;font-size:12px;font-weight:650;color:#111827;
}
.jos-cm-list{flex:1;overflow:auto;display:grid;gap:8px;align-content:start}
.jos-cm-card{
  min-height:88px;height:auto;padding:14px 14px;border-radius:16px;border:1px solid transparent;background:#fff;
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;width:100%;
  appearance:none;text-align:left;font:inherit;cursor:pointer;color:#111827;
  transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;
  overflow:hidden;box-sizing:border-box;
}
.jos-cm-card:hover{background:#F3F4F6;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.jos-cm-card.on{
  border-color:var(--jos-brand);background:var(--jos-brand-soft);
  box-shadow:0 8px 24px rgba(217,99,45,.12);
}
.jos-cm-ava{
  width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,#2A3348,#141B2B);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;
}
.jos-cm-ava.lg{width:64px;height:64px;font-size:18px}
.jos-cm-card-body{
  display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden;
}
.jos-cm-card-top{display:flex;align-items:center;gap:8px;min-width:0;width:100%}
.jos-cm-card-top strong{
  font-size:14px;font-weight:800;color:#111827;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto;
}
.jos-cm-when{margin-left:auto;font-size:11px;font-weight:700;color:#6B7280;flex-shrink:0;line-height:1.2}
.jos-cm-vip{
  display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;
  background:#111827;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;flex-shrink:0;
}
.jos-cm-vip.dark{background:#111827}
.jos-cm-card-contact{
  display:block;font-size:12px;font-weight:650;color:#4B5563;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.jos-cm-card-meta{
  display:block;font-size:12px;font-weight:650;color:#6B7280;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;
}
.jos-cm-pager{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:12px;flex-wrap:wrap}
.jos-cm-pagebtn{
  min-width:32px;height:32px;border-radius:8px;border:1px solid #E5E7EB;background:#fff;
  font:inherit;font-size:12px;font-weight:750;cursor:pointer;color:#111827;
}
.jos-cm-pagebtn.on{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-cm-empty-list{padding:32px 12px;text-align:center;color:#6B7280}
.jos-cm-empty-list strong{display:block;color:#111827;margin-bottom:6px}

.jos-cm-main .jos-ld-workspace{
  background:#fff;border:1px solid #E5E7EB;border-radius:20px;padding:0;
  box-shadow:0 8px 30px rgba(0,0,0,.05);overflow:hidden;
}
.jos-cm-main .jos-ld-ws-head{padding:20px 24px;border-bottom:1px solid #E5E7EB;margin:0;border-radius:0}
.jos-cm-main .jos-ld-ws-tabs{padding:0 16px;margin:0;border-radius:0;border:0;border-bottom:1px solid #E5E7EB}
.jos-cm-main .jos-ld-ws-body{padding:20px 24px}
.jos-cm-main .jos-cm-edit-head{padding:20px 24px}
.jos-cm-workspace{display:flex;flex-direction:column;gap:16px;min-height:100%}
.jos-cm-ws-head{
  background:#fff;border:1px solid #E5E7EB;border-radius:20px;padding:20px 24px;
  box-shadow:0 8px 30px rgba(0,0,0,.05);display:flex;justify-content:space-between;gap:16px;align-items:flex-start;min-height:140px;flex-wrap:wrap;
}
.jos-cm-edit-head{
  flex-direction:column;align-items:stretch;min-height:0;gap:16px;
}
.jos-cm-edit-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;width:100%;
}
.jos-cm-edit-grid label{
  display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#374151;position:relative;
}
.jos-cm-edit-grid input{
  height:40px;border:1px solid #E5E7EB;border-radius:12px;padding:0 12px;font:inherit;font-size:13px;font-weight:600;
  color:#111827;background:#F9FAFB;
}
.jos-cm-edit-grid input:focus{
  outline:none;border-color:rgba(217,99,45,.45);background:#fff;box-shadow:0 0 0 3px rgba(217,99,45,.12);
}
.jos-cm-edit-grid .jos-phone-dial{
  position:absolute;left:12px;top:30px;font-size:12px;font-weight:700;color:#6B7280;pointer-events:none;
}
.jos-cm-edit-grid #jos-ce-phone{padding-left:40px}
.jos-cm-edit-actions{justify-content:flex-end;width:100%;margin:0}
.jos-cm-workspace.is-editing .jos-cm-ws-tabs{opacity:.55;pointer-events:none}
@media (max-width:720px){
  .jos-cm-edit-grid{grid-template-columns:1fr}
}
.jos-cm-ws-id{display:flex;gap:16px;align-items:flex-start}
.jos-cm-ws-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.jos-cm-ws-name strong{font-size:22px;font-weight:800;color:#111827;letter-spacing:-.02em}
.jos-cm-ws-acts{display:flex;gap:8px;align-items:center}
.jos-cm-note-bar{
  display:flex;gap:8px;margin-top:12px;width:100%;
}
.jos-cm-note-bar input{
  flex:1;height:40px;border:1px solid #E5E7EB;border-radius:12px;padding:0 12px;font:inherit;font-size:13px;background:#F9FAFB;
}
.jos-cm-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.jos-cm-stat{
  height:90px;appearance:none;border:1px solid #E5E7EB;background:#fff;border-radius:20px;padding:16px;
  text-align:left;font:inherit;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.05);
  transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;justify-content:center;gap:2px;
}
.jos-cm-stat:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.jos-cm-stat .lbl{font-size:12px;font-weight:600;color:#6B7280}
.jos-cm-stat strong{font-size:22px;font-weight:800;color:#111827;letter-spacing:-.03em}
.jos-cm-stat .trend{font-size:11px;font-weight:750;color:#22C55E}
.jos-cm-ws-tabs{
  display:flex;gap:2px;border-bottom:1px solid #E5E7EB;overflow:auto;background:#fff;
  border-radius:16px 16px 0 0;padding:0 12px;border:1px solid #E5E7EB;border-bottom:0;
}
.jos-cm-ws-tab{
  appearance:none;border:0;background:transparent;padding:14px 14px;font:inherit;font-size:13px;font-weight:750;
  color:#6B7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;
  transition:color .2s,border-color .2s;
}
.jos-cm-ws-tab.on{color:var(--jos-brand);border-bottom-color:var(--jos-brand)}
.jos-cm-ws-body{
  background:#fff;border:1px solid #E5E7EB;border-radius:0 0 20px 20px;padding:24px;
  box-shadow:0 8px 30px rgba(0,0,0,.05);flex:1;
}
.jos-cm-empty-ws{padding:64px 24px;text-align:center;background:#fff;border-radius:20px;border:1px solid #E5E7EB}
.jos-cm-empty-art{
  width:72px;height:72px;margin:0 auto 16px;border-radius:20px;
  background:linear-gradient(145deg,#FFF4ED,#FFE8D9);border:1px solid rgba(217,99,45,.18);
}
.jos-cm-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.jos-cm-card-block{
  background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:20px;
  box-shadow:0 4px 16px rgba(0,0,0,.03);color:#111827;
}
.jos-cm-card-block.span2{grid-column:1/-1}
.jos-cm-insight-copy{margin:0;font-size:14px;line-height:1.5;font-weight:600;color:#1F2937}
.jos-cm-insight-tip{margin:8px 0 0;font-size:13px;line-height:1.45;font-weight:600;color:#4B5563}
.jos-cm-insight-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.jos-cm-itag{
  height:28px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;
}
.jos-cm-itag.mint{background:#D1FAE5;color:#047857}
.jos-cm-itag.gold{background:#FEF3C7;color:#B45309}
.jos-cm-itag.blue{background:#DBEAFE;color:#1D4ED8}
.jos-cm-pref{
  display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #E5E7EB;font-size:13px;
}
.jos-cm-pref span{color:#6B7280;font-weight:600}
.jos-cm-pref strong{color:#111827}
.jos-cm-timeline{display:grid;gap:10px;margin-top:12px}
.jos-cm-tl{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.jos-cm-tl i{
  width:28px;height:28px;border-radius:50%;background:var(--jos-brand-soft);
  box-shadow:inset 0 0 0 2px rgba(217,99,45,.25);
}
.jos-cm-tl span{display:flex;flex-direction:column;gap:2px;font-size:13px}
.jos-cm-notes{display:grid;gap:8px;margin-top:12px}
.jos-cm-table-wrap{overflow:auto}
.jos-cm-table{width:100%;border-collapse:collapse;min-width:720px}
.jos-cm-table th{
  text-align:left;padding:10px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6B7280;
  border-bottom:1px solid #E5E7EB;
}
.jos-cm-table td{padding:12px 10px;border-bottom:1px solid #E5E7EB;font-size:13px;color:#111827}
.jos-cm-table tr{cursor:pointer;transition:background .15s}
.jos-cm-table tr:hover{background:#F9FAFB}
.jos-cm-msg-split{display:grid;grid-template-columns:220px 1fr;gap:16px;min-height:280px}
.jos-cm-msg-list,.jos-cm-msg-pane{border:1px solid #E5E7EB;border-radius:16px;padding:16px}
.jos-cm-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.jos-cm-file{
  border:1px solid #E5E7EB;border-radius:14px;padding:20px 12px;text-align:center;font-size:12px;font-weight:700;background:#F9FAFB;
}
.jos-cm-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jos-cm-big{display:block;font-size:28px;font-weight:800;color:#111827;margin-top:6px;letter-spacing:-.03em}

.jos-cm-rail{display:flex;flex-direction:column;gap:20px;overflow:auto;position:sticky;top:0;align-self:start;max-height:calc(100vh - 140px)}
.jos-cm-widget{
  background:#fff;border:1px solid #E5E7EB;border-radius:20px;padding:20px 24px;
  box-shadow:0 8px 30px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s;
}
.jos-cm-widget:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.jos-cm-vip-line{display:block;font-size:18px;font-weight:800;color:#111827;margin:6px 0 4px}
.jos-cm-prog{height:8px;border-radius:999px;background:#F3F4F6;overflow:hidden;margin:12px 0}
.jos-cm-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--jos-brand),#F59E0B);border-radius:999px}
.jos-cm-val-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jos-cm-val-grid span{display:block;font-size:11px;font-weight:600;color:#6B7280}
.jos-cm-val-grid strong{font-size:15px;color:#111827}
.jos-cm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}
.jos-cm-tag{
  appearance:none;border:0;height:28px;padding:0 10px;border-radius:999px;font:inherit;font-size:11px;font-weight:750;
  background:#EEF2FF;color:#4338CA;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
}
.jos-cm-tag-x{font-size:14px;line-height:1;opacity:.75;font-weight:800}
.jos-cm-tag:hover .jos-cm-tag-x{opacity:1}
.jos-cm-tag.add{background:#F3F4F6;color:#6B7280}
.jos-cm-up{margin-top:8px;font-size:13px;color:#111827}
.jos-cm-sat{display:flex;align-items:center;gap:12px;margin:8px 0 12px}
.jos-cm-sat strong{font-size:36px;font-weight:800;color:#111827;letter-spacing:-.04em}
.jos-cm-stars{color:#F59E0B;letter-spacing:2px;font-size:16px}
.jos-cm-sat-bars{display:grid;gap:6px}
.jos-cm-sat-row{display:grid;grid-template-columns:28px 1fr 20px;gap:8px;align-items:center;font-size:11px;font-weight:700;color:#6B7280}
.jos-cm-sat-row .bar{height:8px;border-radius:999px;background:#F3F4F6;overflow:hidden}
.jos-cm-sat-row .bar i{display:block;height:100%;background:#F59E0B;border-radius:999px}

.jos-cm-fab{
  display:none;position:fixed;right:18px;bottom:22px;z-index:12050;width:56px;height:56px;border-radius:50%;
  border:0;background:var(--jos-brand);color:#fff;font-size:28px;font-weight:700;cursor:pointer;
  box-shadow:0 12px 30px rgba(217,99,45,.4);
}
.jos-cm-intel-toggle{
  display:none;position:fixed;right:18px;bottom:88px;z-index:12050;height:40px;padding:0 14px;
  border-radius:12px;border:1px solid #E5E7EB;background:#fff;font:inherit;font-size:12px;font-weight:750;
  box-shadow:0 8px 24px rgba(0,0,0,.1);cursor:pointer;color:#111827;
}
.jos-cm-intel-backdrop{
  display:none;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:12600;
}

@media(max-width:1600px){
  .jos-cm-layout{grid-template-columns:340px minmax(0,1fr) 300px}
}
@media(max-width:1199px){
  .jos-cm-layout{grid-template-columns:320px minmax(0,1fr)}
  .jos-cm-rail{
    position:fixed;top:0;right:0;bottom:0;width:min(340px,92vw);z-index:12700;
    background:var(--jos-cm-bg);padding:20px;transform:translateX(105%);transition:transform .22s ease;
    max-height:none;box-shadow:-12px 0 40px rgba(0,0,0,.15);
  }
  #jos-customers-root.intel-open .jos-cm-rail{transform:none}
  #jos-customers-root.intel-open .jos-cm-intel-backdrop{display:block}
  .jos-cm-intel-toggle{display:inline-flex;align-items:center}
  .jos-cm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jos-cm-global-search{width:min(320px,28vw);flex-basis:min(320px,28vw)}
}
@media(max-width:1023px){
  #p-app.jos-pixel.jos-customers-mode:not(.jos-nav-expanded){--nav:80px}
  #p-app.jos-pixel.jos-customers-mode:not(.jos-nav-expanded) .ni .ni-lbl,
  #p-app.jos-pixel.jos-customers-mode:not(.jos-nav-expanded) .nav-profile-meta{display:none!important}
  .jos-cm-header{flex-wrap:wrap;min-height:0}
  .jos-cm-global-search{order:3;width:100%;flex:1 1 100%}
  .jos-cm-fab{display:flex;align-items:center;justify-content:center}
  .jos-cm-overview{grid-template-columns:1fr}
  .jos-cm-msg-split,.jos-cm-pay-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
  #p-app.jos-pixel.jos-customers-mode{--nav:0px}
  #p-app.jos-pixel.jos-customers-mode .app-nav{transform:translateX(-100%)}
  #p-app.jos-pixel.jos-customers-mode .app-main{margin-left:0}
  .jos-cm-shell{padding:0 12px 80px}
  .jos-cm-layout{grid-template-columns:1fr}
  .jos-cm-main{display:none}
  .jos-cm-shell.ws-open .jos-cm-list-card{display:none}
  .jos-cm-shell.ws-open .jos-cm-main{display:flex}
  .jos-cm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-cm-header h1{font-size:26px}
}


/* Operate: never require left/right page scroll */
#p-app.jos-pixel .app-main,
#p-app.jos-pixel .body,
#p-app.jos-pixel [id^="jos-"]{
  max-width:100%;
}
#p-app.jos-pixel .app-shell{
  overflow-x:hidden;
}
.jos-mkt-mc-shell::after{
  content:"Scroll for more ↓";
  display:block;text-align:center;font-size:11px;font-weight:700;color:#8A909C;
  padding:8px 0 0;letter-spacing:.04em;text-transform:uppercase;
}


/* operate-nav-unify: one sidebar chrome everywhere — last-wins lock */
#p-app.jos-pixel .app-nav .ni[title]{/* titles kept for collapsed a11y */}
#p-app.jos-pixel.jos-nav-expanded .ni{position:relative}
/* REOPENED 2026-09-16. This "last-wins lock" hid the button in EVERY state, which is what made
   the six rules above unrecoverable — a later blanket rule silently defeating an earlier
   conditional one. The lock now defers to the jobs-mode rule rather than overruling it. */
#p-app.jos-pixel.jos-nav-expanded.jos-jobs-mode .nav-jobs-new{display:inline-flex!important}
#p-app.jos-pixel.jos-nav-expanded{
  --nav:260px!important;
}
#p-app.jos-pixel .app-nav{
  width:var(--nav)!important;
}
#p-app.jos-pixel .ni,
#p-app.jos-pixel.jos-inbox-mode .ni,
#p-app.jos-pixel.jos-jobs-mode .ni,
#p-app.jos-pixel.jos-leads-mode .ni,
#p-app.jos-pixel.jos-customers-mode .ni,
#p-app.jos-pixel.jos-pipeline-mode .ni,
#p-app.jos-pixel.jos-marketing-mode .ni,
#p-app.jos-pixel.jos-reviews-mode .ni,
#p-app.jos-pixel.jos-memberships-mode .ni,
#p-app.jos-pixel.jos-settings-mode .ni,
#p-app.jos-pixel.jos-storefront-mode .ni{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
}
#p-app.jos-pixel .ni.active,
#p-app.jos-pixel.jos-inbox-mode .ni.active,
#p-app.jos-pixel.jos-jobs-mode .ni.active,
#p-app.jos-pixel.jos-leads-mode .ni.active,
#p-app.jos-pixel.jos-customers-mode .ni.active,
#p-app.jos-pixel.jos-pipeline-mode .ni.active,
#p-app.jos-pixel.jos-marketing-mode .ni.active,
#p-app.jos-pixel.jos-reviews-mode .ni.active,
#p-app.jos-pixel.jos-memberships-mode .ni.active,
#p-app.jos-pixel.jos-settings-mode .ni.active,
#p-app.jos-pixel.jos-storefront-mode .ni.active{
  color:#fff!important;
  background:var(--jos-brand)!important;
  box-shadow:0 6px 18px rgba(217,99,45,.35)!important;
  border:0!important;
}

/* ─── 3-Level Customer Architecture ─────────────────────────────────
 * Level 1 = fast browse · Level 2 = command center · Level 3 = full profile
 * ─────────────────────────────────────────────────────────────────── */

/* Level 1 — Completed Customers (Airtable / Mail speed) */
.jos-cc-level-1{max-width:1600px}
/* This !important 28px override (Level 1's own header, .jos-cm-header
   jos-cc1-header together on the same <header>) is the rule that was
   actually winning over the .jos-cm-header h1 fix above — same
   specificity, later in the file, and !important besides. Matched to
   .jos-ld-title/.jos-jobs-header h1 for the same reason that fix exists:
   this is the header users actually see. */
.jos-cc1-header h1{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--jos-navy)}
.jos-cc1-kpis{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;
  margin:0 0 16px;flex-shrink:0;
}
.jos-cc1-kpi{
  background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:14px 16px;
  box-shadow:0 2px 8px rgba(0,0,0,.03);min-height:72px;display:flex;flex-direction:column;justify-content:center;gap:2px;
}
.jos-cc1-kpi .lbl{font-size:11px;font-weight:700;color:#6B7280;letter-spacing:.02em;text-transform:uppercase}
.jos-cc1-kpi strong{font-size:22px;font-weight:800;color:#141B2B;letter-spacing:-.03em;font-family:'Plus Jakarta Sans','DM Sans',sans-serif}
.jos-cc1-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;flex-shrink:0}
.jos-cc1-filter{
  appearance:none;border:1px solid #E5E7EB;background:#fff;height:34px;padding:0 12px;border-radius:999px;
  font:inherit;font-size:12px;font-weight:700;color:#4B5563;cursor:pointer;transition:all .15s;
}
.jos-cc1-filter em{font-style:normal;opacity:.65;margin-left:4px}
.jos-cc1-filter:hover{border-color:rgba(217,99,45,.4);color:#141B2B}
.jos-cc1-filter.on{background:var(--jos-brand);border-color:var(--jos-brand);color:#fff}
.jos-cc1-filter.on em{opacity:.85}
.jos-cc1-toolbar{display:flex;justify-content:flex-end;margin:0 0 8px}
.jos-cc1-table-wrap{
  background:#fff;border:1px solid #E5E7EB;border-radius:16px;overflow:auto;
  box-shadow:0 4px 20px rgba(0,0,0,.04);max-height:62vh;
}
.jos-cc1-table{width:100%;border-collapse:collapse;font-size:13px}
.jos-cc1-table th{
  text-align:left;padding:12px 14px;font-size:11px;font-weight:750;color:#6B7280;
  text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #E5E7EB;background:#FAFBFC;position:sticky;top:0;z-index:1;
}
.jos-cc1-table td{padding:12px 14px;border-bottom:1px solid #F3F4F6;vertical-align:middle;color:#141B2B}
.jos-cc1-row{cursor:pointer;transition:background .12s}
.jos-cc1-row:hover{background:#FFF8F4}
.jos-cc1-row:focus{outline:2px solid rgba(217,99,45,.35);outline-offset:-2px}
.jos-cc1-row .jos-cm-ava{width:36px;height:36px;font-size:11px}
.jos-cc1-row strong{font-weight:750}
.jos-cc1-tags{display:flex;flex-wrap:wrap;gap:4px}
.jos-cc1-acts{display:flex;gap:6px;white-space:nowrap}
.jos-cc1-empty{padding:64px 24px;text-align:center;background:#fff;border:1px dashed #E5E7EB;border-radius:16px}
.jos-cc1-empty strong{display:block;font-size:16px;margin-bottom:8px;color:#141B2B}
.jos-cc1-count{margin-left:12px;font-size:12px}
.jos-cc1-summary-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jos-gap,14px);margin-top:16px;
}
.jos-cust-bar-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.jos-cust-bar-row{display:grid;grid-template-columns:minmax(0,1fr) 2fr auto;align-items:center;gap:10px}
.jos-cust-bar-label{font-size:12px;font-weight:700;color:#141B2B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jos-cust-bar-track{width:100%;height:6px;border-radius:999px;background:#F1F3F4;overflow:hidden}
.jos-cust-bar-track span{display:block;height:100%;background:var(--jos-brand);border-radius:999px}
.jos-cust-bar-val{font-size:12px;font-weight:750;color:#4B5563;white-space:nowrap}
.jos-cust-review-avg{font-size:32px;font-weight:800;color:#141B2B;font-family:'Plus Jakarta Sans','DM Sans',sans-serif;letter-spacing:-.02em}
.jos-cust-review-stars{color:#F59E0B;font-size:16px;letter-spacing:2px;margin-bottom:6px}
@media(max-width:1100px){
  .jos-cc1-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jos-cc1-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .jos-cc1-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jos-cc1-acts{flex-direction:column}
  .jos-cc1-summary-grid{grid-template-columns:1fr}
}

/* Level 2 — Customer quick-view drawer (focused, not a second page). Reuses
   the exact .jos-profile/.jos-profile-panel slide-in overlay Level 3 (Full
   Profile, journey.css) already has — .jos-cc2-panel only narrows it to
   ~30-35% of the viewport per the design spec, clamped so it stays usable
   on both a laptop and a wide desktop. */
.jos-cc2-panel{width:clamp(380px,34vw,480px);padding:20px;overflow-y:auto;background:#F7F8FA}
.jos-cc2-drawer-close{
  position:absolute;top:16px;right:16px;z-index:6;margin-left:0;
  background:#fff;border:1px solid #E5E7EB;color:#4B5563;box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.jos-cc2-drawer-close:hover{background:#F5F6F7;color:#141B2B}
.jos-cc2-shell{display:flex;flex-direction:column;gap:14px;animation:josHomeIn .35s ease both}
.jos-cc2-head{
  background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:44px 18px 18px;
  box-shadow:0 4px 16px rgba(0,0,0,.04);position:relative;
}
.jos-cc2-id{display:flex;gap:14px;align-items:flex-start}
.jos-cm-ava.xl{width:56px;height:56px;font-size:18px;border-radius:16px;flex-shrink:0}
.jos-cc2-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jos-cc2-name strong{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--jos-navy);font-family:'Plus Jakarta Sans','DM Sans',sans-serif}
.jos-cc2-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:13px;color:#4B5563}
.jos-cc2-meta b{color:#141B2B;font-weight:800}
.jos-cc2-full{width:100%;font-weight:750}

/* Next Best Action — the dominant element in the drawer, per spec: bigger
   type, brand-tinted card, sits right under the header before anything
   else competes for attention. */
.jos-cc2-nba{
  background:linear-gradient(135deg,#FFF8F4,#FFFFFF);border:1px solid rgba(217,99,45,.3);
  border-radius:16px;padding:18px 20px;box-shadow:0 4px 16px rgba(217,99,45,.1);
}
.jos-cc2-nba-title{display:block;font-size:17px;font-weight:800;color:#141B2B;letter-spacing:-.02em;margin-top:4px}
.jos-cc2-nba p{margin:6px 0 0;font-size:13px}

/* Customer Snapshot — 2-column grid of icon + label + value, only the
   highest-value fields (last service, next appt, preferred contact,
   membership, balance, preferred service). Nothing here is a custom
   field or a full record dump — that's Full Profile's job. */
.jos-cc2-snap{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:16px}
.jos-cc2-snap-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:10px}
.jos-cc2-snap-item{display:flex;gap:10px;align-items:flex-start}
.jos-cc2-snap-ico{
  width:28px;height:28px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:13px;background:#F3F4F6;color:#6B7280;
}
.jos-cc2-snap-ico.tone-brand{background:var(--jos-brand-soft);color:var(--jos-brand)}
.jos-cc2-snap-ico.tone-ok{background:#EAFBF1;color:#0F9D58}
.jos-cc2-snap-ico.tone-warn{background:#FFF4E5;color:#B45309}
.jos-cc2-snap-ico.tone-info{background:#EEF2FF;color:#4F46E5}
.jos-cc2-snap-label{font-size:11px;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.03em}
.jos-cc2-snap-val{font-size:13px;font-weight:700;color:#141B2B;margin-top:2px;line-height:1.35}

/* Recent Activity — 3-5 items only, "View all activity" hands off to the
   full timeline in Full Profile instead of growing this list forever. */
.jos-cc2-activity{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:16px}
.jos-cc2-activity-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.jos-cc2-activity-item{
  display:flex;justify-content:space-between;gap:10px;padding:8px 0;
  border-bottom:1px solid #F3F4F6;font-size:13px;
}
.jos-cc2-activity-item:last-child{border-bottom:0}
.jos-cc2-activity-item strong{font-weight:650;color:#141B2B}
.jos-cc2-activity-item span{color:#9CA3AF;font-size:12px;white-space:nowrap;flex-shrink:0}

/* Quick Actions — compact icon-over-label buttons, one tap each. */
.jos-cc2-quick{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:16px}
.jos-cc2-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.jos-cc2-quick-btn{
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;
  border:1px solid #E5E7EB;border-radius:10px;background:#fff;cursor:pointer;
  font-size:11px;font-weight:650;color:#4B5563;transition:background-color .12s ease,border-color .12s ease;
}
.jos-cc2-quick-btn:hover{background:#FAFAFB;border-color:#D1D5DB}

@media(max-width:420px){
  .jos-cc2-snap-grid{grid-template-columns:1fr}
  .jos-cc2-quick-grid{grid-template-columns:repeat(2,1fr)}
}

/* Level 3 — Full Profile (reference record, denser tabs) */
#jos-customer-profile.jos-profile .jos-profile-panel{
  max-width:960px;border-radius:20px 0 0 20px;
}
#jos-customer-profile.jos-profile.open .jos-profile-top{
  background:linear-gradient(180deg,#F8F9FB,#fff);border-bottom:1px solid #E5E7EB;
}
#jos-customer-profile .jos-profile-tabs{flex-wrap:wrap;gap:2px}
#jos-customer-profile .jos-profile-tab{font-size:12px;padding:10px 12px}
.jos-cc3-eyebrow{
  font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;
  color:#9CA3AF;margin:0 0 10px;
}
.jos-cc3-overview{display:flex;flex-direction:column;gap:14px}
.jos-cc3-info .jos-detail-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.jos-cc3-info .jos-detail-rows>div{
  display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid #F3F4F6;
}
.jos-cc3-info .jos-detail-rows span{font-size:11px;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.03em}
.jos-cc3-info .jos-detail-rows strong{font-size:14px;font-weight:750;color:#141B2B}
@media(max-width:720px){
  .jos-cc3-info .jos-detail-rows{grid-template-columns:1fr}
}

/* ── Operate UX fixes batch ─────────────────────────────────────── */
.jos-job-card-title,.jos-jobs-name,.jos-jobs-cust strong,.jos-jobs-table td strong,
.jos-jobs-table td .jos-linkish,.jos-jobs-cust,.jos-jd-svc strong,.jos-jd-kv strong,
.jos-cal-dayview .jos-cal-event strong,.jos-cal-pill{
  color:#141B2B!important;font-weight:750;
}
.jos-job-card-sub,.jos-jobs-cust .jos-muted,.jos-jd-svc .jos-muted{color:#4B5563!important;font-weight:550}
.jos-job-card.is-block .jos-job-card-title,
.jos-cal-event.block strong,
.jos-gcal-event.block strong{color:#fff!important}
.jos-cal-event.block{background:#374151;color:#fff;border-radius:8px;padding:8px 10px}
.jos-gcal-event.block{background:#5F6368;color:#fff;border-radius:4px;padding:3px 22px 3px 6px}
.jos-cal-event.block .jos-muted{color:rgba(255,255,255,.75)!important}
.jos-gcal-event strong,.jos-gcal-event span{color:#fff!important}

/* Actions menu: keep above content but clear of Ask Hubly FAB.
   :has() reflects the popups' own [hidden] state live, instead of a
   manually toggled body class — that class was only ever cleared by one
   specific "click outside the popup" listener, so any other way the
   popup closed (an action inside it firing, a re-render regenerating it
   already-hidden, Escape) left the class stuck and the FAB permanently
   dimmed to near-invisible — this is what "the Jobs AI button is a
   shadow" was. :has() can't get stuck; it's re-evaluated on every DOM
   change, same pattern already used for .hubly-coach/.jos-pk-ws below. */
.jos-jobs-pop{z-index:14000;min-width:200px;box-shadow:0 12px 32px rgba(15,23,42,.18)}
body:has(#jos-jobs-row-pop:not([hidden])) #jos-ask-fab,
body:has(#jos-jobs-status-pop:not([hidden])) #jos-ask-fab{opacity:.15;pointer-events:none}
#p-app.jos-jobs-mode #jos-ask-fab{bottom:24px;right:24px}

/* Pipeline side panel — light inputs, drawer feel, no auto-black */
.jos-pk-field input,.jos-pk-field textarea,
.jos-pk-edit input,.jos-pk-edit textarea{
  background:#fff!important;color:#141B2B!important;border:1px solid #E5E7EB!important;
  -webkit-text-fill-color:#141B2B;
}
.jos-pk-ws{
  background:#fff;border:1px solid #E5E7EB;border-radius:16px;
  box-shadow:0 8px 28px rgba(15,23,42,.08);z-index:20;
  max-height:calc(100vh - 120px);overflow:auto;padding-bottom:24px;
}
.jos-pk-ws-empty{padding:48px 16px}
/* Ask Hubly must never sit on the deal panel / Notes field */
#p-app.jos-pipeline-mode #jos-ask-fab,
#p-app.jos-pipeline-mode:has(.jos-pk-ws) #jos-ask-fab{display:none!important}
#p-app.jos-jobs-mode:has(.jos-jobs-drawer.open) #jos-ask-fab{display:none!important}

/* Drawer tab switches: no slide flash when already open */
.jos-jobs-drawer.open{animation:none}

/* Hide Grow leftovers if any */
#p-app.jos-pixel .nav-grow{display:none!important}
