
:root{--bg:#020302;--panel:#071009;--panel2:#0b160e;--line:rgba(145,255,28,.28);--line2:rgba(255,255,255,.10);--text:#f3fff2;--muted:#b6c7b4;--green:#91ff1c;--green2:#4dff7b;--gold:#ffd166;--red:#ff5370;--blue:#78ccff;--glass:rgba(255,255,255,.055);--shadow:0 30px 80px rgba(0,0,0,.55);--radius:28px;--sidebar:292px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 76% 10%,rgba(145,255,28,.16),transparent 30%),radial-gradient(circle at 15% 70%,rgba(77,255,123,.10),transparent 28%),linear-gradient(90deg,#000 0%,#020302 42%,#061206 100%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh;max-width:1880px;margin:0 auto}.sidebar{position:sticky;top:0;height:100vh;padding:24px 22px 20px;background:linear-gradient(180deg,#010101 0%,#020703 100%);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--green2));color:#031004;font-size:27px;box-shadow:0 0 35px rgba(145,255,28,.26)}.brand strong{display:block;font-size:16px;letter-spacing:.12em;line-height:1.05}.brand span{display:block;font-size:11px;color:var(--muted);letter-spacing:.18em;margin-top:3px}.nav{display:grid;gap:7px;overflow:auto;padding-right:3px}.nav a{padding:12px 13px;border:1px solid transparent;border-radius:16px;color:var(--muted);font-weight:800;font-size:14px;display:flex;gap:10px;align-items:center}.nav a:hover,.nav a.active{background:rgba(145,255,28,.09);border-color:var(--line);color:var(--text)}.side-footer{margin-top:auto;padding-top:18px;color:var(--muted);font-size:12px}.main{padding:28px;min-width:0}.topbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:22px}.search{flex:1;max-width:560px;background:var(--glass);border:1px solid var(--line2);border-radius:18px;padding:12px 14px;color:var(--text);outline:none}.user-chip{display:flex;gap:10px;align-items:center;background:var(--glass);border:1px solid var(--line2);padding:10px 12px;border-radius:999px;color:var(--muted);white-space:nowrap}.hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:22px;margin-bottom:22px}.hero-card,.card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card{padding:34px}.hero-card:before,.card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 20% 0%,rgba(145,255,28,.14),transparent 34%);pointer-events:none}.eyebrow{position:relative;margin:0 0 10px;color:var(--green);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:1000}.hero h1{position:relative;margin:0;font-size:clamp(38px,5vw,72px);line-height:.92;letter-spacing:-.055em}.hero p{position:relative;color:var(--muted);font-size:17px;line-height:1.6}.status{display:grid;gap:12px;padding:24px}.status-row{display:flex;justify-content:space-between;gap:12px;padding:13px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.075)}.status-row strong{color:var(--green)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{padding:24px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.card h2{position:relative;margin:0 0 10px;font-size:24px}.card h3{position:relative;margin:0 0 8px}.card p,.card li{position:relative;color:var(--muted);line-height:1.55}.metric{position:relative;display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}.metric:last-child{border-bottom:0}.metric strong{font-size:22px;color:var(--green)}.pill-row{position:relative;display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.pill,.pill-row span,.badge{border:1px solid var(--line);color:var(--green);background:rgba(145,255,28,.07);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase}.badge.gold{color:var(--gold);border-color:rgba(255,209,102,.35);background:rgba(255,209,102,.10)}.badge.blue{color:var(--blue);border-color:rgba(120,204,255,.35);background:rgba(120,204,255,.10)}.actions{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn,.actions a{border:1px solid var(--line);background:linear-gradient(135deg,rgba(145,255,28,.18),rgba(77,255,123,.08));color:var(--text);padding:10px 13px;border-radius:14px;font-weight:900}.btn.danger{border-color:rgba(255,83,112,.4);background:rgba(255,83,112,.08)}.table-wrap{position:relative;overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.08)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--muted);vertical-align:top}.table th{color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.notice{border-left:4px solid var(--green);background:rgba(145,255,28,.08);padding:14px 16px;border-radius:14px;color:var(--muted)}.form{position:relative;display:grid;gap:13px}.input{width:100%;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.10);border-radius:14px;color:var(--text);padding:12px 13px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{width:min(520px,100%);padding:30px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);border-radius:30px;box-shadow:var(--shadow)}.network-registry-grid,.lead-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:18px}.network-card,.lead-card{position:relative;padding:20px;border:1px solid rgba(145,255,28,.24);border-radius:22px;background:linear-gradient(180deg,rgba(145,255,28,.10),rgba(0,0,0,.28));box-shadow:0 20px 60px rgba(0,0,0,.35)}.network-card-top,.lead-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px;align-items:center}.lead-notes{white-space:pre-wrap;max-height:160px;overflow:auto;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.toast{position:fixed;right:20px;bottom:20px;background:#0b160e;border:1px solid var(--line);box-shadow:var(--shadow);padding:14px 16px;border-radius:16px;color:var(--text);z-index:20}.empty{color:var(--muted);padding:18px;border:1px dashed rgba(255,255,255,.16);border-radius:18px}.mini-stat{font-size:34px;color:var(--green);font-weight:1000;line-height:1}.module-list{display:grid;gap:10px}.module-list a,.module-item{position:relative;display:flex;justify-content:space-between;gap:10px;padding:14px 15px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);color:var(--muted)}@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.span-3,.span-4,.span-6,.span-8{grid-column:span 12}.topbar{display:grid}.search{max-width:none}}@media(max-width:560px){.main{padding:18px}.hero-card{padding:24px}.nav{grid-template-columns:1fr}.card{padding:20px}}
/* v20.2 CRM workflow controls */
.crm-summary-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0 0 18px}.crm-summary-card{padding:16px;border:1px solid rgba(145,255,28,.22);border-radius:18px;background:rgba(145,255,28,.07)}.crm-summary-card strong{display:block;color:var(--green);font-size:30px;line-height:1}.crm-summary-card span{display:block;margin-top:6px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:1000;letter-spacing:.08em}.lead-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.lead-meta div{padding:11px;border-radius:14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.075);min-width:0}.lead-meta b{display:block;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.lead-meta span{display:block;word-break:break-word;color:var(--muted);font-size:13px}.lead-details{margin:14px 0;padding:12px;border-radius:16px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.075)}.lead-details summary{cursor:pointer;color:var(--green);font-weight:1000}.lead-details p{margin:8px 0 0;white-space:pre-wrap}.btn.small,.actions button.small{font-size:11px;padding:8px 10px;border-radius:999px}.lead-card.is-deleted{opacity:.66;filter:saturate(.7)}.badge.status-deleted{color:#bbb;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}.badge.status-archived{color:#bbb;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}.badge.status-rejected,.badge.status-declined,.badge.status-closed_lost{color:#ff9a9a;border-color:rgba(255,154,154,.35);background:rgba(255,154,154,.10)}.badge.status-approved,.badge.status-approved_gallery,.badge.status-approved_vendor,.badge.status-confirmed,.badge.status-closed_won,.badge.status-resolved{color:#92ff92;border-color:rgba(146,255,146,.35);background:rgba(146,255,146,.10)}.badge.status-contacted,.badge.status-request_images,.badge.status-request_docs,.badge.status-quote_sent,.badge.status-hold_date,.badge.status-proposal_sent,.badge.status-follow_up,.badge.status-schedule_setup,.badge.status-waitlist{color:#ffd166;border-color:rgba(255,209,102,.35);background:rgba(255,209,102,.10)}@media(max-width:640px){.lead-meta{grid-template-columns:1fr}}


/* v21.2 activity history */
.activity-log{margin-top:12px}
.activity-item{border-left:3px solid rgba(140,255,20,.45);padding:10px 0 10px 12px;margin:10px 0;background:rgba(255,255,255,.035);border-radius:10px}
.activity-item span{display:block;color:#9fb89a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.activity-item b{display:inline-block;color:#8cff14;font-size:12px;text-transform:uppercase;margin-bottom:4px}
.activity-item p{margin:0 0 4px!important;color:#eaffdf!important}
.activity-item small{display:block;color:#cddbc8;font-size:12px}

/* v21.3 attachment display */
.lead-attachments{position:relative;margin:14px 0;padding:12px;border-radius:18px;background:rgba(0,0,0,.20);border:1px solid rgba(145,255,28,.16)}
.lead-attachments h4{margin:0 0 10px;color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.attachment-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);margin-top:10px}
.attachment-card:first-of-type{margin-top:0}
.attachment-card img{width:92px;height:92px;object-fit:cover;border-radius:14px;border:1px solid rgba(145,255,28,.24);display:block;background:#000}
.attachment-card .file-icon{width:92px;height:92px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(145,255,28,.24);background:rgba(145,255,28,.08);font-size:34px;color:var(--green)}
.attachment-card b{display:block;color:var(--text);font-size:14px;margin-bottom:4px}
.attachment-card span{display:block;color:var(--muted);font-size:12px;word-break:break-word;margin-bottom:8px}
.attachment-card small{display:block;color:#82917f;font-size:10px;word-break:break-all;margin-top:7px;line-height:1.35}
@media(max-width:540px){.attachment-card{grid-template-columns:1fr}.attachment-card img,.attachment-card .file-icon{width:100%;height:180px}}

/* v21.4 Internal CRM Notes */
.internal-notes textarea{
  width:100%;
  min-height:92px;
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(140,255,20,.22);
  background:rgba(0,0,0,.28);
  color:#f7fff3;
  resize:vertical;
  font:inherit;
}
.internal-note-form{margin-top:14px;display:grid;gap:10px}
.internal-note-list{display:grid;gap:12px;margin-top:12px}
.internal-note-item{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.08);
}
.internal-note-item span{display:block;font-size:12px;color:#b8ccb2;margin-bottom:4px}
.internal-note-item b{display:block;color:#8cff14;margin-bottom:6px}
.internal-note-item p{margin:0;color:#f7fff3;white-space:pre-wrap;line-height:1.45}

/* v21.5 Lead Detail Modal */
.lead-grid-compact{align-items:start}
.lead-card-compact{min-height:auto;padding:22px}
.lead-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(140,255,20,.12)}
.lead-card-foot small{color:var(--muted);font-size:11px;line-height:1.2;text-align:right}
.tgps-modal-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:28px;overflow:auto}
.tgps-modal{position:relative;width:min(1120px,100%);max-height:92vh;overflow:auto;border-radius:30px;border:1px solid rgba(140,255,20,.28);background:linear-gradient(145deg,rgba(3,10,3,.98),rgba(19,45,10,.96));box-shadow:0 30px 120px rgba(0,0,0,.75),0 0 60px rgba(140,255,20,.12);padding:28px}
.modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.modal-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px;padding-right:50px;border-bottom:1px solid rgba(140,255,20,.16);padding-bottom:22px}
.modal-head h2{font-size:clamp(30px,4vw,52px);margin:14px 0 8px;line-height:1}
.modal-head p{margin:0;color:var(--muted)}
.modal-actions{justify-content:flex-end;max-width:460px}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.modal-section{padding:18px;border-radius:22px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08)}
.modal-section h3{margin:0 0 14px;color:var(--green);font-size:15px;text-transform:uppercase;letter-spacing:.12em}
.full-span{grid-column:1/-1}.modal-meta{margin:0}.open-details{background:transparent;border:0;padding:0;margin:0}.open-details p{margin:0 0 10px;color:#eaffdf}.modal-attachments{margin:0;background:transparent;border:0;padding:0}.modal-attachments .attachment-card{grid-template-columns:140px minmax(0,1fr)}.modal-attachments .attachment-card img,.modal-attachments .attachment-card .file-icon{width:140px;height:140px}.empty.compact{font-size:13px;margin:0;color:var(--muted)}
@media(max-width:820px){.tgps-modal-backdrop{padding:12px}.tgps-modal{padding:20px;border-radius:22px}.modal-head{display:block;padding-right:38px}.modal-actions{justify-content:flex-start;margin-top:16px}.modal-grid{grid-template-columns:1fr}.modal-attachments .attachment-card{grid-template-columns:1fr}.modal-attachments .attachment-card img,.modal-attachments .attachment-card .file-icon{width:100%;height:220px}}

/* v21.5b Lead Popup Cleanup */
.tgps-lead-popup-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(0,0,0,.82)!important;
  backdrop-filter:blur(10px)!important;
  overflow:hidden!important;
}
.tgps-lead-popup{
  position:relative!important;
  width:min(1180px,96vw)!important;
  max-height:88vh!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(140,255,20,.32)!important;
  background:linear-gradient(145deg,rgba(3,9,4,.98),rgba(15,34,10,.98))!important;
  box-shadow:0 40px 140px rgba(0,0,0,.78),0 0 60px rgba(140,255,20,.14)!important;
  padding:0!important;
}
.tgps-lead-popup .modal-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:4!important;
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(0,0,0,.55)!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:36px!important;
  cursor:pointer!important;
}
.lead-popup-head{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:18px!important;
  align-items:start!important;
  padding:24px 74px 18px 24px!important;
  border-bottom:1px solid rgba(140,255,20,.16)!important;
  margin:0!important;
}
.lead-popup-head h2{
  margin:12px 0 4px!important;
  font-size:clamp(28px,4vw,48px)!important;
  line-height:1!important;
}
.lead-popup-actions{
  max-width:430px!important;
  justify-content:flex-end!important;
}
.lead-popup-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,25%) minmax(360px,1fr) minmax(260px,28%)!important;
  gap:16px!important;
  padding:18px!important;
  height:calc(88vh - 132px)!important;
  min-height:520px!important;
}
.lead-popup-col{
  min-width:0!important;
  overflow:auto!important;
  padding-right:4px!important;
}
.lead-popup-col::-webkit-scrollbar{width:8px}.lead-popup-col::-webkit-scrollbar-thumb{background:rgba(140,255,20,.24);border-radius:999px}
.tgps-lead-popup .modal-section{
  padding:16px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  margin-bottom:14px!important;
}
.tgps-lead-popup .modal-section h3,
.tgps-lead-popup .lead-attachments h4{
  margin:0 0 12px!important;
  color:var(--green,#8cff14)!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-size:12px!important;
}
.detail-kv-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;
  gap:10px!important;
}
.detail-kv{
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(0,0,0,.24)!important;
  border:1px solid rgba(255,255,255,.07)!important;
}
.detail-kv b{
  display:block!important;
  margin-bottom:6px!important;
  color:var(--green,#8cff14)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-size:10px!important;
}
.detail-kv span{display:block!important;word-break:break-word!important;color:#eaffdf!important}
.tgps-lead-popup .internal-notes{padding:0!important;background:transparent!important;border:0!important;margin:0!important}
.tgps-lead-popup .internal-notes h3{display:none!important}
.internal-note-list{display:grid!important;gap:10px!important;margin-bottom:12px!important}
.internal-note-item,.tgps-lead-popup .activity-item{
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(0,0,0,.24)!important;
  border:1px solid rgba(255,255,255,.07)!important;
}
.internal-note-item span,.tgps-lead-popup .activity-item span{display:block!important;color:#b7c9b2!important;font-size:11px!important;margin-bottom:4px!important}
.internal-note-item b,.tgps-lead-popup .activity-item b{display:block!important;color:var(--green,#8cff14)!important;text-transform:uppercase!important;font-size:11px!important}
.internal-note-item p,.tgps-lead-popup .activity-item p{margin:6px 0 0!important;color:#fff!important}
.internal-note-form textarea{
  width:100%!important;
  min-height:88px!important;
  resize:vertical!important;
  border-radius:16px!important;
  border:1px solid rgba(140,255,20,.22)!important;
  background:rgba(0,0,0,.28)!important;
  color:#fff!important;
  padding:12px!important;
  margin-bottom:8px!important;
}
.tgps-lead-popup .modal-attachments .attachment-card{
  grid-template-columns:110px minmax(0,1fr)!important;
  align-items:start!important;
}
.tgps-lead-popup .modal-attachments .attachment-card img,
.tgps-lead-popup .modal-attachments .attachment-card .file-icon{
  width:110px!important;
  height:110px!important;
  object-fit:cover!important;
}
@media(max-width:980px){
  .tgps-lead-popup-backdrop{padding:10px!important;align-items:stretch!important}
  .tgps-lead-popup{width:100%!important;max-height:96vh!important;border-radius:20px!important;overflow:auto!important}
  .lead-popup-head{display:block!important;padding:20px 62px 16px 18px!important}
  .lead-popup-actions{justify-content:flex-start!important;margin-top:14px!important}
  .lead-popup-grid{display:block!important;height:auto!important;min-height:0!important;padding:14px!important}
  .lead-popup-col{overflow:visible!important;padding-right:0!important}
  .tgps-lead-popup .modal-attachments .attachment-card{grid-template-columns:1fr!important}
  .tgps-lead-popup .modal-attachments .attachment-card img,.tgps-lead-popup .modal-attachments .attachment-card .file-icon{width:100%!important;height:220px!important}
}

/* v21.6 Assignment + Tasks */
.assignment-form,
.task-form{
  display:grid;
  gap:12px;
}
.assignment-form label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.task-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.task-list{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
.task-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(140,255,20,.14);
  background:rgba(255,255,255,.035);
}
.task-item b{display:block;color:var(--text);font-size:14px}
.task-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.task-item.is-done{opacity:.64}
.task-item.is-done b{text-decoration:line-through}
.task-item.is-overdue{border-color:rgba(255,120,80,.45);background:rgba(255,80,40,.08)}
.lead-meta div:nth-child(4) span,
.lead-meta div:nth-child(6) span{
  text-transform:capitalize;
}
@media(max-width:980px){.task-form-row{grid-template-columns:1fr}}


/* v21.6b Visible Assignment / Waiting On indicators */
.lead-operational-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.lead-operational-badges span{
  display:inline-grid;
  gap:3px;
  min-width:116px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(140,255,20,.22);
  background:rgba(140,255,20,.07);
  color:var(--text);
  font-weight:800;
}
.lead-operational-badges span b{
  color:var(--green,#8cff14);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.lead-operational-badges .waiting.has-waiting{
  border-color:rgba(255,214,90,.45);
  background:rgba(255,214,90,.10);
  color:#ffe28a;
}
.lead-operational-badges .waiting.empty{
  opacity:.72;
}
.lead-card-compact .lead-meta div:nth-child(4){
  border-color:rgba(255,214,90,.22);
}
.lead-card-compact .lead-meta div:nth-child(4) span{
  color:#ffe28a;
  font-weight:800;
}

/* v21.6c TGPS Lead Popup Visual + Scroll Harmonizer */
.tgps-lead-popup-backdrop{
  overflow:hidden!important;
  background:rgba(0,0,0,.78)!important;
  backdrop-filter:blur(10px)!important;
}

.tgps-lead-popup{
  width:min(1400px,96vw)!important;
  height:92vh!important;
  max-height:92vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:28px!important;
  border:1px solid rgba(145,255,28,.22)!important;
  background:
    radial-gradient(circle at top left,rgba(145,255,28,.08),transparent 30%),
    radial-gradient(circle at bottom right,rgba(77,255,123,.055),transparent 28%),
    linear-gradient(180deg,rgba(8,16,9,.985),rgba(4,8,5,.985))!important;
  box-shadow:
    0 40px 140px rgba(0,0,0,.78),
    0 0 60px rgba(145,255,28,.10),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
}

.lead-popup-head{
  flex:0 0 auto!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))!important;
  border-bottom:1px solid rgba(145,255,28,.18)!important;
}

.lead-popup-grid{
  flex:1 1 auto!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(220px,25%) minmax(360px,1fr) minmax(260px,28%)!important;
  gap:16px!important;
  padding:18px!important;
}

.lead-popup-grid::-webkit-scrollbar{
  width:8px;
}

.lead-popup-grid::-webkit-scrollbar-thumb{
  background:rgba(145,255,28,.24);
  border-radius:999px;
}

.lead-popup-col{
  overflow:visible!important;
  min-height:0!important;
  padding-right:4px!important;
  padding-bottom:80px!important;
}

.lead-detail-grid,
.lead-popup-grid > *{
  overflow:visible!important;
}

.tgps-lead-popup .modal-section{
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.024))!important;
  border:1px solid rgba(145,255,28,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 30px rgba(0,0,0,.18)!important;
  margin-bottom:14px!important;
}

.tgps-lead-popup .modal-section h3,
.tgps-lead-popup .lead-attachments h4{
  color:var(--green,#91ff1c)!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  font-weight:1000!important;
  opacity:.92!important;
}

.detail-kv{
  background:rgba(0,0,0,.18)!important;
  border:1px solid rgba(145,255,28,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

.task-item{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(145,255,28,.10)!important;
  border-radius:16px!important;
}

.internal-note-item,
.tgps-lead-popup .activity-item{
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(145,255,28,.08)!important;
  backdrop-filter:blur(8px)!important;
}

.tgps-lead-popup .lead-attachments{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
}

.tgps-lead-popup .attachment-card{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(145,255,28,.10)!important;
}

.tgps-lead-popup .modal-close{
  background:rgba(0,0,0,.40)!important;
  border:1px solid rgba(145,255,28,.22)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.28)!important;
}

.tgps-lead-popup .modal-close:hover{
  background:rgba(145,255,28,.10)!important;
}

.assignment-form .input,
.task-form .input,
.internal-note-form textarea{
  background:rgba(0,0,0,.24)!important;
  border:1px solid rgba(145,255,28,.16)!important;
}

.lead-operational-badges span{
  background:rgba(145,255,28,.065)!important;
  border:1px solid rgba(145,255,28,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}

@media(max-width:980px){
  .tgps-lead-popup-backdrop{
    padding:10px!important;
    align-items:stretch!important;
  }

  .tgps-lead-popup{
    width:100%!important;
    height:96vh!important;
    max-height:96vh!important;
    border-radius:20px!important;
  }

  .lead-popup-head{
    display:block!important;
    padding:20px 62px 16px 18px!important;
  }

  .lead-popup-actions{
    justify-content:flex-start!important;
    margin-top:14px!important;
  }

  .lead-popup-grid{
    display:block!important;
    overflow-y:auto!important;
    padding:14px!important;
  }

  .lead-popup-col{
    overflow:visible!important;
    padding-right:0!important;
    padding-bottom:20px!important;
  }

  .tgps-lead-popup .modal-attachments .attachment-card{
    grid-template-columns:1fr!important;
  }

  .tgps-lead-popup .modal-attachments .attachment-card img,
  .tgps-lead-popup .modal-attachments .attachment-card .file-icon{
    width:100%!important;
    height:220px!important;
  }
}


/* v21.7 Communications Log */
.communication-log,
.comm-log{
  display:grid;
  gap:12px;
}
.communication-item{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(145,255,28,.10);
}
.communication-item span{
  display:block;
  color:#b8ccb2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.communication-item b{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--green,#91ff1c);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.communication-item p{
  margin:6px 0 0!important;
  color:#f7fff3!important;
  white-space:pre-wrap;
  line-height:1.45;
}
.communication-item small{
  display:block;
  margin-top:6px;
  color:#9fb89a;
  font-size:11px;
}
.communication-form{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.communication-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.communication-form textarea{
  width:100%;
  min-height:88px;
  resize:vertical;
  border-radius:16px;
  border:1px solid rgba(145,255,28,.18);
  background:rgba(0,0,0,.25);
  color:var(--text,#f3fff2);
  padding:12px 14px;
}
.lead-card-compact .lead-meta div:nth-child(8) span{
  color:#c8ffd0;
  font-weight:800;
}
@media(max-width:980px){.communication-form-row{grid-template-columns:1fr}}


/* v21.8 Revenue + Contracts */
.revenue-panel label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.revenue-form{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.revenue-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.revenue-snapshot{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.revenue-snapshot div{
  padding:12px;
  border-radius:16px;
  background:rgba(145,255,28,.055);
  border:1px solid rgba(145,255,28,.13);
}
.revenue-snapshot b{
  display:block;
  color:var(--green,#91ff1c);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.revenue-snapshot span{
  display:block;
  color:#f7fff3;
  font-weight:900;
  word-break:break-word;
}
.lead-operational-badges span:nth-last-child(2),
.lead-operational-badges span:nth-last-child(1){
  border-color:rgba(255,209,102,.25);
  background:rgba(255,209,102,.08);
}
.lead-card-compact .lead-meta div:nth-child(5) span{
  color:#ffe28a;
  font-weight:900;
}
@media(max-width:980px){.revenue-form-row,.revenue-snapshot{grid-template-columns:1fr}}


/* v21.9 Follow-Ups + Calendar */
.followup-panel label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.followup-form{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.followup-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.calendar-snapshot{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.calendar-snapshot div{
  padding:12px;
  border-radius:16px;
  background:rgba(145,255,28,.055);
  border:1px solid rgba(145,255,28,.13);
}
.calendar-snapshot b{
  display:block;
  color:var(--green,#91ff1c);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.calendar-snapshot span,
.lead-meta span[class^="date-"]{
  display:block;
  color:#f7fff3;
  font-weight:900;
  word-break:break-word;
}
.date-overdue,
.lead-operational-badges .date-overdue{
  color:#ff9a9a!important;
  border-color:rgba(255,154,154,.40)!important;
  background:rgba(255,83,112,.10)!important;
}
.date-today,
.lead-operational-badges .date-today{
  color:#ffe28a!important;
  border-color:rgba(255,214,90,.45)!important;
  background:rgba(255,214,90,.10)!important;
}
.date-soon,
.lead-operational-badges .date-soon{
  color:#78ccff!important;
  border-color:rgba(120,204,255,.35)!important;
  background:rgba(120,204,255,.10)!important;
}
.date-empty{
  color:var(--muted)!important;
  opacity:.72;
}
.calendar-summary.today strong{color:#ffe28a}
.calendar-summary.overdue strong{color:#ff9a9a}
.calendar-summary.events strong{color:#78ccff}
.calendar-summary.payments strong{color:#ffd166}
@media(max-width:980px){.followup-form-row,.calendar-snapshot{grid-template-columns:1fr}}


/* v21.9b Calendar Activity Details */
.activity-details{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(145,255,28,.10);
  display:grid;
  gap:5px;
}
.activity-details div{
  color:#d8ead2;
  font-size:13px;
  line-height:1.35;
  opacity:.9;
}
.tgps-lead-popup .activity-details div{
  color:#eaffdf;
}


/* v22.0 Overview */
.ops-dashboard{position:relative;display:grid;gap:18px}
.ops-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.ops-metric{padding:18px;border-radius:22px;border:1px solid rgba(145,255,28,.18);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 14px 40px rgba(0,0,0,.22);min-height:120px;display:grid;align-content:center;gap:7px;position:relative;overflow:hidden}
.ops-metric:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 20% 0%,rgba(145,255,28,.10),transparent 45%);pointer-events:none}
.ops-metric span{position:relative;color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:1000}
.ops-metric strong{position:relative;font-size:clamp(26px,3vw,42px);line-height:1;color:var(--text);letter-spacing:-.04em}
.ops-metric small{position:relative;color:var(--muted);font-weight:700}
.ops-metric.gold{border-color:rgba(255,209,102,.26);background:rgba(255,209,102,.07)}
.ops-metric.danger{border-color:rgba(255,83,112,.36);background:rgba(255,83,112,.08)}
.ops-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:18px}
.ops-breakdown,.ops-watch-card{padding:18px;border-radius:24px;border:1px solid rgba(145,255,28,.14);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));box-shadow:0 10px 30px rgba(0,0,0,.18)}
.ops-breakdown h3,.ops-watch-card h3{margin:0 0 14px;color:var(--green);font-size:13px;text-transform:uppercase;letter-spacing:.14em}
.ops-bar{display:grid;grid-template-columns:95px 1fr 38px;gap:10px;align-items:center;margin:12px 0;color:var(--muted);font-weight:800}
.ops-bar div{height:12px;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.ops-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--green2));box-shadow:0 0 16px rgba(145,255,28,.24)}
.ops-bar b{color:var(--text);text-align:right}
.ops-pulse-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--muted);font-weight:800}
.ops-pulse-row:last-child{border-bottom:0}
.ops-pulse-row strong{color:var(--green);font-size:22px}
.ops-watch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.ops-watch-list{display:grid;gap:9px}
.ops-watch-item{text-align:left;color:var(--text);border:1px solid rgba(145,255,28,.14);background:rgba(0,0,0,.22);border-radius:16px;padding:12px;display:grid;gap:4px}
.ops-watch-item:hover{border-color:rgba(145,255,28,.38);background:rgba(145,255,28,.08)}
.ops-watch-item b{font-size:15px}
.ops-watch-item span{color:var(--muted);font-size:12px;font-weight:800}
@media(max-width:980px){.ops-lower-grid{grid-template-columns:1fr}.ops-bar{grid-template-columns:80px 1fr 34px}}


/* v22.0a Lead Workspace + Revenue Model Refresh */
.lead-operational-badges .pipeline{border-color:rgba(120,204,255,.38);background:rgba(120,204,255,.10);color:#cceeff}.revenue-panel{border-color:rgba(145,255,28,.20)!important;background:linear-gradient(180deg,rgba(145,255,28,.065),rgba(255,255,255,.025))!important}.revenue-snapshot-v220a{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.revenue-snapshot-v220a div{padding:11px 12px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid rgba(145,255,28,.12)}.revenue-snapshot-v220a b{display:block;color:var(--green,#91ff1c);text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-bottom:5px}.revenue-snapshot-v220a span{display:block;color:var(--text,#f3fff2);font-weight:900;word-break:break-word}.revenue-form label,.followup-form label{color:var(--muted,#b6c7b4);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.revenue-form-row,.followup-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.revenue-commission-fields,.revenue-hybrid-fields{padding:10px;border-radius:18px;border:1px solid rgba(145,255,28,.10);background:rgba(0,0,0,.13)}.revenue-model-fixed .revenue-commission-fields,.revenue-model-fixed .revenue-hybrid-fields{opacity:.72}.revenue-model-commission .revenue-fixed-field{opacity:.72}.revenue-model-none .revenue-form-row{opacity:.55}.calendar-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))!important}.followup-panel .followup-form-row{grid-template-columns:1fr 1fr}.lead-popup-main .revenue-panel{margin-top:14px!important}.ops-metric strong{font-variant-numeric:tabular-nums}.ops-bar div{max-width:65%}@media(max-width:980px){.revenue-snapshot-v220a{grid-template-columns:1fr 1fr}.revenue-form-row,.followup-form-row{grid-template-columns:1fr}.ops-bar div{max-width:100%}}


/* v22.0b Lead Workspace Layout Stabilization */
.tgps-lead-popup{
  width:min(1440px,97vw)!important;
  height:92vh!important;
  max-height:92vh!important;
  overflow:hidden!important;
}

.lead-popup-grid{
  grid-template-columns:minmax(250px,.82fr) minmax(420px,1.45fr) minmax(320px,1fr)!important;
  gap:18px!important;
  padding:18px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-items:start!important;
}

.lead-popup-col{
  min-width:0!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding-right:4px!important;
  padding-bottom:90px!important;
}

.tgps-lead-popup .modal-section,
.tgps-lead-popup .lead-attachments,
.revenue-panel,
.followup-panel,
.assignment-panel,
.task-panel,
.communication-panel,
.attachments-section{
  max-width:100%!important;
  overflow:hidden!important;
  contain:layout paint;
}

.tgps-lead-popup .input,
.tgps-lead-popup input,
.tgps-lead-popup textarea,
.tgps-lead-popup select,
.tgps-lead-popup button{
  min-width:0!important;
  max-width:100%!important;
}

.revenue-form,
.followup-form,
.assignment-form,
.task-form,
.communication-form{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
  max-width:100%!important;
}

.revenue-form-row,
.followup-form-row,
.task-form-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  min-width:0!important;
}

.revenue-snapshot-v220a,
.calendar-snapshot{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.revenue-panel .btn,
.followup-panel .btn,
.assignment-panel .btn,
.task-panel .btn,
.communication-panel .btn,
.internal-note-form .btn{
  width:100%!important;
  justify-content:center!important;
}

.lead-popup-main .attachments-section{
  margin-top:14px!important;
}

.tgps-lead-popup .activity-item p{
  line-height:1.35!important;
}

.tgps-lead-popup .activity-details{
  margin-top:10px!important;
  padding:10px 0 0!important;
  border-top:1px solid rgba(145,255,28,.10)!important;
}

.tgps-lead-popup .activity-details div{
  padding:4px 0!important;
  color:#dcefd8!important;
  font-size:13px!important;
  line-height:1.35!important;
}

@media(max-width:1250px){
  .lead-popup-grid{
    grid-template-columns:minmax(260px,.9fr) minmax(420px,1.25fr)!important;
  }
  .lead-popup-notes{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .lead-popup-notes .modal-section,
  .lead-popup-notes .task-panel{
    margin-bottom:0!important;
  }
}

@media(max-width:900px){
  .tgps-lead-popup-backdrop{padding:10px!important;align-items:stretch!important;overflow:hidden!important;}
  .tgps-lead-popup{width:100%!important;height:96vh!important;max-height:96vh!important;border-radius:20px!important;}
  .lead-popup-head{display:block!important;padding:18px 62px 16px 18px!important;}
  .lead-popup-actions{justify-content:flex-start!important;margin-top:14px!important;}
  .lead-popup-grid{display:block!important;height:auto!important;overflow-y:auto!important;padding:14px!important;}
  .lead-popup-col{overflow:visible!important;padding-bottom:16px!important;}
  .lead-popup-notes{display:block!important;}
  .revenue-form-row,.followup-form-row,.task-form-row{grid-template-columns:1fr!important;}
  .revenue-snapshot-v220a,.calendar-snapshot{grid-template-columns:1fr 1fr!important;}
}


/* v22.0c Responsive Workspace + Editable Projected Revenue Fix */
.tgps-lead-popup-backdrop{
  padding:16px!important;
  overflow:hidden!important;
}
.tgps-lead-popup{
  width:min(1500px,calc(100vw - 32px))!important;
  height:calc(100vh - 32px)!important;
  max-height:calc(100vh - 32px)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.lead-popup-head{
  flex:0 0 auto!important;
  min-height:0!important;
}
.lead-popup-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(260px,.8fr) minmax(430px,1.35fr) minmax(320px,.95fr)!important;
  grid-template-areas:"contact main notes"!important;
  align-items:start!important;
  gap:18px!important;
  padding:18px!important;
}
.lead-popup-contact{grid-area:contact!important;}
.lead-popup-main{grid-area:main!important;}
.lead-popup-notes{grid-area:notes!important;}
.lead-popup-col{
  min-width:0!important;
  overflow:visible!important;
  padding-right:0!important;
  padding-bottom:24px!important;
  position:relative!important;
}
.lead-popup-grid > *{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  position:relative!important;
}
.tgps-lead-popup .modal-section,
.tgps-lead-popup .lead-attachments{
  position:relative!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  margin-bottom:16px!important;
}
.revenue-form,
.followup-form,
.assignment-form,
.task-form,
.communication-form{
  min-width:0!important;
  max-width:100%!important;
}
.revenue-form-row,
.followup-form-row,
.communication-form-row,
.task-form-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  min-width:0!important;
}
.tgps-lead-popup label,
.tgps-lead-popup input,
.tgps-lead-popup select,
.tgps-lead-popup textarea,
.tgps-lead-popup .input,
.tgps-lead-popup .btn{
  min-width:0!important;
  max-width:100%!important;
}
.tgps-lead-popup input[type="date"]{
  font-size:13px!important;
}
.revenue-panel .revenue-hybrid-fields label:last-child .input{
  border-color:rgba(120,204,255,.30)!important;
  background:rgba(120,204,255,.06)!important;
}
.revenue-panel .revenue-hybrid-fields label:last-child:after{
  content:"Leave blank to auto-calculate";
  display:block;
  color:var(--muted,#b6c7b4);
  font-size:10px;
  margin-top:5px;
  opacity:.75;
}
.lead-operational-badges{
  max-width:100%!important;
}
.lead-operational-badges span{
  min-width:110px!important;
}
@media(max-width:1240px){
  .lead-popup-grid{
    grid-template-columns:minmax(280px,.8fr) minmax(430px,1.2fr)!important;
    grid-template-areas:
      "contact main"
      "notes notes"!important;
  }
  .lead-popup-notes{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .lead-popup-notes .modal-section,
  .lead-popup-notes .task-panel,
  .lead-popup-notes .communication-panel{
    margin-bottom:0!important;
  }
}
@media(max-width:860px){
  .tgps-lead-popup-backdrop{padding:8px!important;align-items:stretch!important;}
  .tgps-lead-popup{
    width:100%!important;
    height:calc(100vh - 16px)!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:18px!important;
  }
  .lead-popup-head{display:block!important;padding:18px 62px 16px 18px!important;}
  .lead-popup-actions{justify-content:flex-start!important;margin-top:14px!important;}
  .lead-popup-grid{
    display:block!important;
    height:auto!important;
    overflow-y:auto!important;
    padding:14px!important;
  }
  .lead-popup-col{overflow:visible!important;padding-bottom:12px!important;}
  .lead-popup-notes{display:block!important;}
  .revenue-form-row,
  .followup-form-row,
  .communication-form-row,
  .task-form-row{
    grid-template-columns:1fr!important;
  }
}

/* v22.0d Fullscreen Lead Workspace Drawer
   Replaces fragile modal sizing with a full-screen operations workspace.
   No nested modal scrollbars. The workspace body scrolls as one clean surface. */
body:has(.tgps-lead-popup-backdrop){
  overflow:hidden!important;
}
.tgps-lead-popup-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:block!important;
  padding:0!important;
  background:rgba(0,0,0,.86)!important;
  backdrop-filter:blur(10px)!important;
  overflow:hidden!important;
}
.tgps-lead-popup{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:0!important;
  border:0!important;
  border-left:1px solid rgba(145,255,28,.28)!important;
  border-right:1px solid rgba(145,255,28,.20)!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(145,255,28,.09),transparent 28%),
    radial-gradient(circle at 92% 10%,rgba(77,255,123,.06),transparent 26%),
    linear-gradient(180deg,rgba(7,16,9,.99),rgba(2,5,3,.99))!important;
  box-shadow:none!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.tgps-lead-popup .modal-close{
  top:20px!important;
  right:22px!important;
  z-index:50!important;
  width:48px!important;
  height:48px!important;
  line-height:42px!important;
  background:rgba(0,0,0,.48)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.35)!important;
}
.lead-popup-head{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:20!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:20px!important;
  align-items:start!important;
  padding:22px 88px 18px 28px!important;
  border-bottom:1px solid rgba(145,255,28,.20)!important;
  background:
    linear-gradient(180deg,rgba(10,25,12,.96),rgba(5,12,7,.94))!important;
  box-shadow:0 18px 50px rgba(0,0,0,.35)!important;
  margin:0!important;
}
.lead-popup-head h2{
  margin:10px 0 4px!important;
  font-size:clamp(32px,4vw,56px)!important;
  line-height:.95!important;
  max-width:850px!important;
}
.lead-popup-actions{
  margin-top:0!important;
  max-width:520px!important;
  justify-content:flex-end!important;
  align-content:flex-start!important;
}
.lead-operational-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  max-width:100%!important;
  margin-top:14px!important;
}
.lead-operational-badges span{
  min-width:118px!important;
  max-width:190px!important;
}
.lead-popup-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(280px,.82fr) minmax(520px,1.35fr) minmax(340px,1fr)!important;
  grid-template-areas:"contact main notes"!important;
  align-items:start!important;
  gap:18px!important;
  padding:22px 28px 80px!important;
  scroll-behavior:smooth!important;
}
.lead-popup-grid::-webkit-scrollbar{width:10px!important;}
.lead-popup-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.04)!important;}
.lead-popup-grid::-webkit-scrollbar-thumb{background:rgba(145,255,28,.28)!important;border-radius:999px!important;}
.lead-popup-contact{grid-area:contact!important;}
.lead-popup-main{grid-area:main!important;}
.lead-popup-notes{grid-area:notes!important;}
.lead-popup-col,
.lead-popup-grid > *{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  position:relative!important;
  padding:0!important;
}
.lead-popup-notes{
  display:block!important;
}
.tgps-lead-popup .modal-section,
.tgps-lead-popup .lead-attachments,
.tgps-lead-popup .task-panel,
.tgps-lead-popup .communication-panel,
.tgps-lead-popup .revenue-panel,
.tgps-lead-popup .followup-panel,
.tgps-lead-popup .assignment-panel{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 0 18px!important;
  clear:both!important;
}
.tgps-lead-popup .modal-section:last-child,
.tgps-lead-popup .lead-attachments:last-child{
  margin-bottom:0!important;
}
.tgps-lead-popup .input,
.tgps-lead-popup input,
.tgps-lead-popup select,
.tgps-lead-popup textarea,
.tgps-lead-popup button,
.tgps-lead-popup .btn{
  max-width:100%!important;
  min-width:0!important;
}
.revenue-form-row,
.followup-form-row,
.communication-form-row,
.task-form-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.revenue-form-row label,
.followup-form-row label,
.communication-form-row label,
.task-form-row label{
  min-width:0!important;
}
.tgps-lead-popup .lead-meta{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.tgps-lead-popup .attachment-card{
  overflow:hidden!important;
}
.internal-note-list,
.communication-list,
.task-list{
  max-height:none!important;
  overflow:visible!important;
}
.activity-item,
.internal-note-item,
.communication-item,
.task-item{
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:1280px){
  .lead-popup-head{
    grid-template-columns:1fr!important;
    padding-right:88px!important;
  }
  .lead-popup-actions{
    justify-content:flex-start!important;
    max-width:none!important;
  }
  .lead-popup-grid{
    grid-template-columns:minmax(260px,.9fr) minmax(460px,1.25fr)!important;
    grid-template-areas:
      "contact main"
      "notes notes"!important;
  }
  .lead-popup-notes{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
  .lead-popup-notes > .modal-section,
  .lead-popup-notes > .task-panel,
  .lead-popup-notes > .communication-panel{
    margin-bottom:0!important;
  }
}
@media(max-width:920px){
  .tgps-lead-popup .modal-close{
    top:14px!important;
    right:14px!important;
  }
  .lead-popup-head{
    display:block!important;
    padding:18px 72px 16px 18px!important;
  }
  .lead-popup-head h2{
    font-size:clamp(28px,9vw,46px)!important;
  }
  .lead-popup-actions{
    margin-top:14px!important;
  }
  .lead-popup-grid{
    display:block!important;
    padding:16px 14px 90px!important;
  }
  .lead-popup-notes{
    display:block!important;
  }
  .lead-popup-notes > .modal-section,
  .lead-popup-notes > .task-panel,
  .lead-popup-notes > .communication-panel{
    margin-bottom:18px!important;
  }
  .revenue-form-row,
  .followup-form-row,
  .communication-form-row,
  .task-form-row,
  .tgps-lead-popup .lead-meta{
    grid-template-columns:1fr!important;
  }
  .lead-operational-badges span{
    min-width:calc(50% - 6px)!important;
    max-width:none!important;
  }
}
@media(max-width:520px){
  .lead-operational-badges span{
    min-width:100%!important;
  }
  .tgps-lead-popup .modal-close{
    width:42px!important;
    height:42px!important;
    line-height:36px!important;
  }
}

/* v22.0e Adaptive Lead Workspace
   Device-aware layout: 3 columns on desktop, 2 columns on tablets/laptops,
   and one clean vertical scroll on mobile. This override intentionally sits
   last so it can tame older modal/grid rules. */

.tgps-lead-popup-backdrop{
  overflow:hidden!important;
  padding:0!important;
}

.tgps-lead-popup{
  width:100dvw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}

.lead-popup-head{
  flex:0 0 auto!important;
  min-height:0!important;
}

.lead-popup-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(280px,.82fr) minmax(520px,1.35fr) minmax(340px,1fr)!important;
  grid-template-areas:"contact main notes"!important;
  align-items:start!important;
  gap:18px!important;
  padding:22px 28px 90px!important;
  overscroll-behavior:contain!important;
}

.lead-popup-contact{grid-area:contact!important;}
.lead-popup-main{grid-area:main!important;}
.lead-popup-notes{grid-area:notes!important;}

.lead-popup-col,
.lead-popup-grid > *,
.lead-popup-col > *,
.lead-popup-notes > *,
.lead-popup-main > *,
.lead-popup-contact > *{
  position:relative!important;
  float:none!important;
  transform:none!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.tgps-lead-popup .modal-section,
.tgps-lead-popup .lead-attachments,
.tgps-lead-popup .task-panel,
.tgps-lead-popup .communication-panel,
.tgps-lead-popup .revenue-panel,
.tgps-lead-popup .followup-panel,
.tgps-lead-popup .assignment-panel{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  overflow:visible!important;
}

.tgps-lead-popup .input,
.tgps-lead-popup input,
.tgps-lead-popup select,
.tgps-lead-popup textarea,
.tgps-lead-popup button,
.tgps-lead-popup .btn{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.revenue-form-row,
.followup-form-row,
.communication-form-row,
.task-form-row,
.revenue-snapshot-v220a,
.calendar-snapshot,
.tgps-lead-popup .lead-meta{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

@media (max-width:1280px){
  .lead-popup-grid{
    grid-template-columns:minmax(280px,.9fr) minmax(460px,1.2fr)!important;
    grid-template-areas:
      "contact main"
      "notes notes"!important;
  }

  .lead-popup-notes{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:start!important;
  }

  .lead-popup-notes > *{
    margin-bottom:0!important;
  }
}

@media (max-width:920px){
  .lead-popup-head{
    display:block!important;
    padding:18px 72px 16px 18px!important;
  }

  .lead-popup-head h2{
    font-size:clamp(28px,8vw,46px)!important;
    line-height:1!important;
  }

  .lead-popup-actions{
    justify-content:flex-start!important;
    max-width:none!important;
    margin-top:14px!important;
  }

  .lead-popup-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "contact"
      "main"
      "notes"!important;
    gap:16px!important;
    padding:16px 14px 96px!important;
  }

  .lead-popup-notes{
    display:block!important;
  }

  .lead-popup-notes > *{
    margin-bottom:18px!important;
  }
}

@media (max-width:760px){
  body:has(.tgps-lead-popup-backdrop){
    overflow:hidden!important;
  }

  .tgps-lead-popup-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100dvw!important;
    height:100dvh!important;
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .tgps-lead-popup{
    position:fixed!important;
    inset:0!important;
    width:100dvw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .tgps-lead-popup .modal-close{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    width:42px!important;
    height:42px!important;
    line-height:36px!important;
    z-index:100!important;
  }

  .lead-popup-head{
    position:relative!important;
    z-index:20!important;
    flex:0 0 auto!important;
    display:block!important;
    padding:14px 60px 14px 14px!important;
    max-height:42dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .lead-popup-head h2{
    font-size:clamp(26px,9vw,38px)!important;
    line-height:1!important;
    margin:8px 0 4px!important;
  }

  .lead-popup-head p{
    margin:0!important;
  }

  .lead-popup-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:12px!important;
    justify-content:flex-start!important;
  }

  .lead-popup-actions .btn,
  .lead-popup-actions button{
    flex:1 1 calc(50% - 8px)!important;
    text-align:center!important;
    font-size:11px!important;
    padding:8px 8px!important;
  }

  .lead-operational-badges{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:12px!important;
  }

  .lead-operational-badges span{
    min-width:0!important;
    max-width:none!important;
    width:100%!important;
    padding:9px 10px!important;
  }

  .lead-popup-grid{
    flex:1 1 auto!important;
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px 12px 110px!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .lead-popup-col,
  .lead-popup-contact,
  .lead-popup-main,
  .lead-popup-notes{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
  }

  .tgps-lead-popup .modal-section,
  .tgps-lead-popup .lead-attachments,
  .tgps-lead-popup .task-panel,
  .tgps-lead-popup .communication-panel,
  .tgps-lead-popup .revenue-panel,
  .tgps-lead-popup .followup-panel,
  .tgps-lead-popup .assignment-panel{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:14px!important;
    overflow:visible!important;
    clear:both!important;
  }

  .revenue-form-row,
  .followup-form-row,
  .communication-form-row,
  .task-form-row,
  .revenue-snapshot-v220a,
  .calendar-snapshot,
  .tgps-lead-popup .lead-meta,
  .detail-kv-grid{
    grid-template-columns:1fr!important;
  }

  .task-item,
  .communication-item,
  .internal-note-item,
  .activity-item{
    display:block!important;
    width:100%!important;
    overflow:visible!important;
  }

  .task-item .btn,
  .task-item button{
    margin-top:10px!important;
    width:100%!important;
  }
}

@media (max-width:420px){
  .lead-operational-badges{
    grid-template-columns:1fr!important;
  }

  .lead-popup-actions .btn,
  .lead-popup-actions button{
    flex-basis:100%!important;
  }

  .lead-popup-head{
    max-height:46dvh!important;
  }
}


/* v22.0f True Mobile Workspace Renderer */
@media (max-width:760px){
  html,body{
    overflow-x:hidden!important;
  }

  .tgps-mobile-workspace-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:#020302!important;
    backdrop-filter:none!important;
  }

  .tgps-mobile-workspace{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    background:
      radial-gradient(circle at 15% 0%,rgba(145,255,28,.10),transparent 35%),
      linear-gradient(180deg,#061006 0%,#020302 100%)!important;
  }

  .tgps-mobile-workspace .modal-close{
    position:fixed!important;
    top:12px!important;
    right:12px!important;
    z-index:1000001!important;
    width:44px!important;
    height:44px!important;
    border-radius:999px!important;
    background:rgba(0,0,0,.72)!important;
    border:1px solid rgba(145,255,28,.32)!important;
    color:#fff!important;
    font-size:30px!important;
    line-height:38px!important;
  }

  .mobile-workspace-head{
    flex:0 0 auto!important;
    display:block!important;
    padding:14px 64px 12px 14px!important;
    border-bottom:1px solid rgba(145,255,28,.18)!important;
    background:linear-gradient(180deg,rgba(15,35,12,.98),rgba(5,12,6,.98))!important;
    box-shadow:0 12px 35px rgba(0,0,0,.35)!important;
    max-height:38dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .mobile-workspace-head h2{
    font-size:clamp(28px,10vw,42px)!important;
    line-height:.95!important;
    margin:8px 0 4px!important;
    letter-spacing:-.05em!important;
  }

  .mobile-workspace-head p{
    margin:0 0 8px!important;
    color:var(--muted)!important;
  }

  .mobile-badges{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:10px!important;
  }

  .mobile-badges span{
    min-width:0!important;
    width:100%!important;
    padding:8px 9px!important;
    border-radius:14px!important;
    font-size:13px!important;
  }

  .mobile-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:12px!important;
    max-width:none!important;
    justify-content:stretch!important;
  }

  .mobile-actions .btn,
  .mobile-actions button{
    width:100%!important;
    min-width:0!important;
    padding:9px 8px!important;
    font-size:11px!important;
    text-align:center!important;
    white-space:normal!important;
  }

  .mobile-workspace-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 12px 120px!important;
  }

  .mobile-workspace-scroll .modal-section,
  .mobile-workspace-scroll .lead-attachments,
  .mobile-workspace-scroll .assignment-panel,
  .mobile-workspace-scroll .followup-panel,
  .mobile-workspace-scroll .revenue-panel,
  .mobile-workspace-scroll .task-panel,
  .mobile-workspace-scroll .communication-panel{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    padding:14px!important;
    overflow:visible!important;
    position:relative!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    float:none!important;
  }

  .mobile-workspace-scroll .lead-meta,
  .mobile-workspace-scroll .detail-kv-grid,
  .mobile-workspace-scroll .revenue-form-row,
  .mobile-workspace-scroll .followup-form-row,
  .mobile-workspace-scroll .communication-form-row,
  .mobile-workspace-scroll .task-form-row,
  .mobile-workspace-scroll .revenue-snapshot-v220a,
  .mobile-workspace-scroll .calendar-snapshot{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .mobile-workspace-scroll input,
  .mobile-workspace-scroll select,
  .mobile-workspace-scroll textarea,
  .mobile-workspace-scroll .input{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:block!important;
  }

  .mobile-workspace-scroll .btn,
  .mobile-workspace-scroll button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
  }

  .mobile-workspace-scroll .attachment-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .mobile-workspace-scroll .attachment-card img,
  .mobile-workspace-scroll .attachment-card .file-icon{
    width:100%!important;
    height:220px!important;
  }

  .mobile-workspace-scroll .task-item,
  .mobile-workspace-scroll .communication-item,
  .mobile-workspace-scroll .internal-note-item,
  .mobile-workspace-scroll .activity-item{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  .mobile-workspace-scroll .task-item button{
    margin-top:10px!important;
  }
}

@media (max-width:420px){
  .mobile-badges,
  .mobile-actions{
    grid-template-columns:1fr!important;
  }

  .mobile-workspace-head{
    max-height:44dvh!important;
  }
}


/* v22.0g Samsung/Android True Mobile Workspace Hard Override */
.tgps-mobile-workspace-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#020302!important;
  backdrop-filter:none!important;
}
.tgps-mobile-workspace{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  background:radial-gradient(circle at 15% 0%,rgba(145,255,28,.10),transparent 35%),linear-gradient(180deg,#061006 0%,#020302 100%)!important;
}
.tgps-mobile-workspace .modal-close{
  position:fixed!important;
  top:12px!important;
  right:12px!important;
  z-index:1000001!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.72)!important;
  border:1px solid rgba(145,255,28,.32)!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:38px!important;
}
.mobile-workspace-head{
  flex:0 0 auto!important;
  display:block!important;
  padding:14px 64px 12px 14px!important;
  border-bottom:1px solid rgba(145,255,28,.18)!important;
  background:linear-gradient(180deg,rgba(15,35,12,.98),rgba(5,12,6,.98))!important;
  box-shadow:0 12px 35px rgba(0,0,0,.35)!important;
  max-height:42dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.mobile-workspace-head h2{
  font-size:clamp(28px,10vw,42px)!important;
  line-height:.95!important;
  margin:8px 0 4px!important;
  letter-spacing:-.05em!important;
}
.mobile-workspace-head p{margin:0 0 8px!important;color:var(--muted)!important;}
.mobile-badges{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:10px!important;
}
.mobile-badges span{
  min-width:0!important;
  width:100%!important;
  padding:8px 9px!important;
  border-radius:14px!important;
  font-size:13px!important;
}
.mobile-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:12px!important;
  max-width:none!important;
  justify-content:stretch!important;
}
.mobile-actions .btn,.mobile-actions button{
  width:100%!important;
  min-width:0!important;
  padding:9px 8px!important;
  font-size:11px!important;
  text-align:center!important;
  white-space:normal!important;
}
.mobile-workspace-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding:14px 12px 120px!important;
}
.mobile-workspace-scroll .modal-section,
.mobile-workspace-scroll .lead-attachments,
.mobile-workspace-scroll .assignment-panel,
.mobile-workspace-scroll .followup-panel,
.mobile-workspace-scroll .revenue-panel,
.mobile-workspace-scroll .task-panel,
.mobile-workspace-scroll .communication-panel{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 14px!important;
  padding:14px!important;
  overflow:visible!important;
  position:relative!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  float:none!important;
}
.mobile-workspace-scroll .lead-meta,
.mobile-workspace-scroll .detail-kv-grid,
.mobile-workspace-scroll .revenue-form-row,
.mobile-workspace-scroll .followup-form-row,
.mobile-workspace-scroll .communication-form-row,
.mobile-workspace-scroll .task-form-row,
.mobile-workspace-scroll .revenue-snapshot-v220a,
.mobile-workspace-scroll .calendar-snapshot{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
}
.mobile-workspace-scroll input,
.mobile-workspace-scroll select,
.mobile-workspace-scroll textarea,
.mobile-workspace-scroll .input{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:block!important;
}
.mobile-workspace-scroll .btn,
.mobile-workspace-scroll button[type="submit"]{width:100%!important;max-width:100%!important;}
.mobile-workspace-scroll .attachment-card{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
.mobile-workspace-scroll .attachment-card img,
.mobile-workspace-scroll .attachment-card .file-icon{width:100%!important;height:220px!important;}
.mobile-workspace-scroll .task-item,
.mobile-workspace-scroll .communication-item,
.mobile-workspace-scroll .internal-note-item,
.mobile-workspace-scroll .activity-item{display:block!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
.mobile-workspace-scroll .task-item button{margin-top:10px!important;}
@media(max-width:420px){.mobile-badges,.mobile-actions{grid-template-columns:1fr!important}.mobile-workspace-head{max-height:44dvh!important}}


/* v22.1 TheBank Space Assignment */
.space-panel textarea{min-height:82px;resize:vertical}
.space-form{display:grid;gap:12px}
.space-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.space-snapshot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.space-snapshot div{padding:12px;border-radius:16px;background:rgba(145,255,28,.06);border:1px solid rgba(145,255,28,.13)}
.space-snapshot b{display:block;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.space-snapshot span{display:block;color:var(--text);font-weight:900;word-break:break-word;text-transform:capitalize}
.lead-operational-badges span:nth-last-child(1){border-color:rgba(120,204,255,.28);background:rgba(120,204,255,.08)}
@media(max-width:760px){.space-snapshot{grid-template-columns:1fr}.space-panel{order:4}}

/* v22.2 Event Management + Production Hub */
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px}
.event-card{position:relative;padding:22px;border:1px solid rgba(145,255,28,.24);border-radius:24px;background:linear-gradient(180deg,rgba(145,255,28,.10),rgba(0,0,0,.30));box-shadow:0 20px 60px rgba(0,0,0,.32)}
.event-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.event-card h3{font-size:24px;margin:0 0 6px}.event-card p{margin:0 0 14px;color:var(--muted)}
.event-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.event-stats div{padding:12px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.075)}.event-stats b{display:block;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.event-stats span{font-weight:900;color:var(--text)}
.tgps-event-backdrop{position:fixed!important;inset:0!important;z-index:100000!important;background:rgba(0,0,0,.86)!important;backdrop-filter:blur(10px)!important;overflow:hidden!important;padding:0!important}.tgps-event-workspace{width:100vw;height:100vh;overflow:hidden;background:radial-gradient(circle at top left,rgba(145,255,28,.08),transparent 32%),linear-gradient(180deg,rgba(6,16,7,.99),rgba(2,4,2,.99));color:var(--text);display:flex;flex-direction:column}.event-workspace-head{flex:0 0 auto;padding:24px 74px 18px 28px;border-bottom:1px solid rgba(145,255,28,.22)}.event-workspace-head h2{font-size:clamp(34px,5vw,64px);line-height:.95;margin:12px 0 6px}.event-workspace-head p{margin:0;color:var(--muted)}
.event-workspace-grid{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.1fr) minmax(320px,1fr);gap:18px;align-items:start}.event-workspace-grid .modal-section{margin:0}.event-form{display:grid;gap:12px}.event-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.event-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-participant-list,.event-schedule-list,.production-list{display:grid;gap:10px;margin-bottom:12px}.event-participant-list article,.event-schedule-list article,.production-item{padding:12px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(145,255,28,.10)}.event-participant-list b,.event-schedule-list b,.production-item b{display:block;color:var(--text);font-size:14px}.event-participant-list span,.event-schedule-list span,.production-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.event-schedule-list p,.production-item p{margin:8px 0 0;color:var(--muted)}.event-revenue-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.production-item.status-complete{opacity:.7;border-color:rgba(146,255,146,.22)}.production-item.status-needed{border-color:rgba(255,209,102,.25)}
@media(max-width:1100px){.event-workspace-grid{grid-template-columns:1fr 1fr}.event-workspace-grid .modal-section{min-width:0}}
@media(max-width:760px){.event-workspace-head{padding:18px 64px 16px 18px}.event-workspace-grid{display:block;padding:14px}.event-workspace-grid .modal-section{margin-bottom:14px}.event-form-row{grid-template-columns:1fr}.event-stats{grid-template-columns:1fr 1fr}.event-card h3{font-size:21px}}


/* v22.2a Event Templates */
.form-help{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45;opacity:.85}
.event-create-form select[name="event_template"]{border-color:rgba(145,255,28,.24);background:rgba(145,255,28,.06)}


/* ==========================================================
   v22.2a Global TGPS Select / Dropdown Theme
   Adds dark dropdown styling across Events, CRM, Revenue,
   Calendar, Tasks, Communications, and platform forms.
   ========================================================== */

select,
.input select,
.card select,
.form select,
.toolbar select,
.revenue-panel select,
.followup-panel select,
.assignment-panel select,
.task-panel select,
.communication-panel select,
.event-panel select,
.crm-panel select,
.tgps-lead-popup select,
[data-create-event] select,
[data-create-lead] select {
  background:
    linear-gradient(
      180deg,
      rgba(15,25,15,.96),
      rgba(6,12,7,.96)
    ) !important;
  color:#f3fff2 !important;
  border:1px solid rgba(145,255,28,.24) !important;
  border-radius:14px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 8px 24px rgba(0,0,0,.18) !important;
}

/* Native option dropdown menu styling.
   Browser support varies, but Chrome/Edge/Firefox respect most of this. */

select option {
  background:#081108 !important;
  color:#f3fff2 !important;
}

select option:checked {
  background:#245f16 !important;
  color:#ffffff !important;
}

select option:hover {
  background:#2f7a1c !important;
  color:#ffffff !important;
}

select option:disabled {
  background:#050705 !important;
  color:#647064 !important;
}

/* Hover + focus states */

select:hover,
.input select:hover,
.card select:hover,
.form select:hover,
.toolbar select:hover {
  border-color:rgba(145,255,28,.48) !important;
  box-shadow:
    0 0 0 1px rgba(145,255,28,.16),
    0 0 18px rgba(145,255,28,.12) !important;
}

select:focus,
.input select:focus,
.card select:focus,
.form select:focus,
.toolbar select:focus {
  outline:none !important;
  border-color:rgba(145,255,28,.58) !important;
  box-shadow:
    0 0 0 2px rgba(145,255,28,.18),
    0 0 22px rgba(145,255,28,.18) !important;
}

/* Events template/status selects */

[data-create-event] select,
.event-template-select,
.event-status-select {
  background:
    linear-gradient(
      180deg,
      rgba(18,40,12,.96),
      rgba(8,18,8,.96)
    ) !important;
  color:#f3fff2 !important;
  border-color:rgba(145,255,28,.30) !important;
}

/* Revenue dropdowns */

.revenue-model-select,
.revenue-type-select,
.revenue-panel select {
  border-color:rgba(145,255,28,.24) !important;
}

/* Compact mobile dropdown touch targets */

@media(max-width:920px){
  select,
  .input select,
  .card select,
  .form select,
  .toolbar select,
  .tgps-lead-popup select {
    min-height:48px !important;
    font-size:16px !important;
  }
}


/* v22.2b Event Participants */
.event-participants-panel .participant-form{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(145,255,28,.10);
}
.event-participant-list-v222b{
  display:grid;
  gap:12px;
}
.event-participant-list-v222b .event-participant{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:start;
  padding:13px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));
  border:1px solid rgba(145,255,28,.12);
}
.event-participant .participant-main b{
  display:block;
  color:var(--text,#f3fff2);
  font-size:15px;
}
.event-participant .participant-main span,
.event-participant .participant-meta small{
  display:block;
  color:var(--muted,#b6c7b4);
  font-size:12px;
  margin-top:4px;
}
.event-participant .participant-main p{
  margin:8px 0 0;
  color:#eaffdf;
  font-size:13px;
  line-height:1.4;
  white-space:pre-wrap;
}
.event-participant .participant-meta{
  display:grid;
  gap:5px;
  min-width:150px;
}
.event-participant .participant-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.participant-status-confirmed,
.participant-status-paid,
.participant-status-checked_in{
  border-color:rgba(146,255,146,.26)!important;
  background:rgba(146,255,146,.045)!important;
}
.participant-status-declined{
  border-color:rgba(255,154,154,.30)!important;
  background:rgba(255,83,112,.055)!important;
}
.participant-status-waitlist{
  border-color:rgba(255,209,102,.30)!important;
  background:rgba(255,209,102,.055)!important;
}
.event-revenue-stats{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:920px){
  .event-participant-list-v222b .event-participant{
    grid-template-columns:1fr;
  }
  .event-participant .participant-actions{
    justify-content:flex-start;
  }
  .event-participant .participant-meta{
    min-width:0;
  }
}
/* v24.4 Identity Foundation */
.identity-message{margin-top:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#dbe7dd}.identity-message.success{border-color:rgba(112,255,174,.35);background:rgba(112,255,174,.09)}.identity-message.error{border-color:rgba(255,96,96,.35);background:rgba(255,96,96,.09)}.identity-help{display:grid;gap:10px;margin-top:14px}.identity-help a{color:#d7f7b4}.identity-user-grid{display:grid;gap:16px}.identity-user-card{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:22px;padding:18px}.identity-user-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.identity-user-head h3{margin:0 0 5px}.identity-user-head p{margin:0;color:rgba(234,244,232,.68)}.identity-role,.identity-status{display:inline-flex;margin-left:6px;margin-bottom:6px;padding:6px 9px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.identity-role{color:#f7d177}.status-active{color:#9ff7b8}.status-pending_review{color:#f7d177}.status-disabled{color:#ff9e9e}.identity-modules{margin:14px 0;padding:12px;border-radius:14px;background:rgba(0,0,0,.18);display:grid;gap:5px}.identity-modules span{color:rgba(234,244,232,.7)}.identity-inline-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.identity-inline-form label{display:grid;gap:6px;color:rgba(234,244,232,.72);font-size:12px}@media(max-width:900px){.identity-user-head,.identity-inline-form{grid-template-columns:1fr;display:grid}.identity-user-head{gap:10px}}


/* v24.4a Responsive Cleanup & Registration Stabilization */
:root{--tgps-shell-version:"v24.4a"}
.span-5{grid-column:span 5!important}
.span-7{grid-column:span 7!important}
.muted{color:var(--muted)}
.card,.hero-card,.login-card,.status{min-width:0}
.card *,.hero-card *,.login-card *{max-width:100%}
.input,select,textarea,button,.btn{max-width:100%}
.module-item{min-width:0;align-items:flex-start}
.module-item b,.module-item span{min-width:0;overflow-wrap:anywhere;word-break:normal}
.identity-help a{overflow-wrap:anywhere}
@media(max-width:1100px){
  .span-5,.span-7{grid-column:span 12!important}
  .grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  .register-page .grid,.identity-page .grid{display:grid!important;grid-template-columns:1fr!important}
  .register-page .card,.identity-page .card{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:980px){
  .app{display:block!important;max-width:none!important;width:100%!important}
  .sidebar{width:100%!important;min-width:0!important;padding:18px!important}
  .main{width:100%!important;min-width:0!important;padding:18px!important}
  .topbar{position:relative!important;display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
  .search,.user-chip{width:100%!important;max-width:none!important}
  .hero{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .hero-card,.card{border-radius:22px!important}
  .grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:1/-1!important}
  .identity-inline-form{display:grid!important;grid-template-columns:1fr!important}
  .identity-user-head{display:grid!important;grid-template-columns:1fr!important}
  .tgps-search-panel,.tgps-notify-drawer{left:12px!important;right:12px!important;top:auto!important;width:auto!important;max-width:none!important}
}
@media(max-width:620px){
  html,body{overflow-x:hidden!important}
  .brand{align-items:center!important}
  .brand-mark{width:52px!important;height:52px!important;flex:0 0 52px!important}
  .brand strong{font-size:15px!important;letter-spacing:.10em!important}
  .brand span{font-size:10px!important}
  .nav{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .nav a{width:100%!important}
  .side-footer .notice{max-height:none!important;min-height:0!important}
  .hero-card{padding:22px!important}
  .hero h1,.login-card h1{font-size:clamp(34px,12vw,54px)!important;line-height:.96!important}
  .card,.login-card{padding:20px!important;width:100%!important}
  .login-wrap{display:block!important;min-height:100vh!important;padding:18px!important}
  .login-card{margin:0 auto!important}
  .status-row,.module-item{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .btn,.actions a{white-space:normal!important;text-align:center!important}
}
@media(max-width:380px){
  .main{padding:12px!important}
  .sidebar{padding:14px!important}
  .card,.login-card,.hero-card{padding:16px!important;border-radius:18px!important}
  .input{padding:11px!important}
}
