/* ============ activity.css — lead classify bar, inline grade picker, lead timeline days,
   and the Activity Log module. New classes only (lc- gp- al- tk-day tk-ev--chg), all
   built on the existing tokens in app.css, so no existing rule changes. Labels use Inter. */

/* ---- classify card (top of the lead drawer) ---- */
.lc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 12px;margin:2px 0 6px;}
.lc__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.lc__row + .lc__row{margin-top:12px;}
.lc__label{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);min-width:52px;}
.lc__seg{display:flex;gap:6px;flex-wrap:wrap;}
.lc__opt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:86px;padding:7px 11px 6px;border-radius:var(--r-sm);
  border:1px solid var(--rule);background:var(--paper);color:var(--body);text-align:left;transition:border-color .12s,background .12s,box-shadow .12s;}
.lc__opt b{font-family:var(--serif);font-size:17px;line-height:1;color:var(--ink);font-weight:600;}
.lc__opt span{font-size:11px;color:var(--mute);line-height:1.25;}
.lc__opt:hover{border-color:var(--gold);}
.lc__opt:focus-visible,.lc__st:focus-visible,.gp__opt:focus-visible,.al-bar:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.lc__opt.is-on{box-shadow:inset 0 0 0 1px currentColor;}
.lc__opt--A.is-on{background:var(--grn-soft);border-color:var(--grn);color:var(--grn);} .lc__opt--A.is-on b,.lc__opt--A.is-on span{color:var(--grn);}
.lc__opt--B.is-on{background:var(--gold-soft);border-color:var(--gold);color:var(--gold);} .lc__opt--B.is-on b,.lc__opt--B.is-on span{color:var(--gold);}
.lc__opt--C.is-on{background:#eef0f1;border-color:var(--mute);color:var(--body);} .lc__opt--C.is-on b{color:var(--ink);}
.lc__opt--D.is-on{background:var(--red-soft);border-color:var(--red);color:var(--red);} .lc__opt--D.is-on b,.lc__opt--D.is-on span{color:var(--red);}
.lc__hint{margin:9px 0 0 64px;font-size:12px;line-height:1.5;color:var(--body);}
.lc__hint b{color:var(--ink);font-weight:600;}
.lc__hint.is-empty{color:var(--amber);}
.lc__why{display:block;margin-top:3px;color:var(--ink);overflow-wrap:anywhere;}
.lc__st{font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;border:1px solid var(--rule);background:var(--paper);color:var(--body);transition:.12s;}
.lc__st:hover{border-color:var(--gold);}
.lc__st--Hot.is-on{background:var(--red-soft);color:var(--red);border-color:var(--red);}
.lc__st--Negotiating.is-on{background:var(--gold-soft);color:var(--gold);border-color:var(--gold);}
.lc__st--Qualified.is-on{background:var(--grn-soft);color:var(--grn);border-color:var(--grn);}
.lc__st--Contacted.is-on{background:#eaf0f4;color:var(--blue);border-color:var(--blue);}
.lc__st--Nurture.is-on{background:#eef0f1;color:var(--ink);border-color:var(--mute);}
.lc__keys{margin-top:11px;padding-top:9px;border-top:1px dashed var(--line);font-size:11px;color:var(--mute);}
.lc__keys kbd{display:inline-block;min-width:17px;padding:0 4px;margin:0 1px;border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px;
  background:var(--paper);font-family:var(--sans);font-size:10.5px;font-weight:600;color:var(--ink);text-align:center;line-height:16px;}
.lc[aria-busy="true"]{opacity:.7;}
.lc__opt.is-bot{border-style:dashed;border-color:var(--gold-2);}
.lc__opt.is-bot span::after{content:" · bot";color:var(--gold);}
.lc__opt.is-pending{box-shadow:0 0 0 3px rgba(155,125,59,.18);}
.lc__ev{margin:10px 0 2px 64px;padding:10px 12px;border-radius:var(--r-sm);background:var(--paper);border:1px solid var(--gold-2);}
.lc__ev-q{display:block;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:7px;}
.lc__ev-row{display:flex;gap:6px;align-items:center;}
.lc__ev-row .input{flex:1;min-width:0;}
.lc-drawer:focus{outline:none;}
.lc-drawer .drawer__hd > div:first-child{padding-right:150px;}   /* room for prev/next + close: long names never run under them */
.lc-drawer .drawer__hd > .close-x{position:absolute;top:16px;right:18px;}   /* app.css:210 resets it to relative */
.badge2.gp-bot{background:transparent;border:1px dashed currentColor;}
.al-warn{margin:0 0 12px;padding:8px 12px;border-radius:var(--r-sm);background:rgba(176,125,43,.09);border:1px solid rgba(176,125,43,.32);color:#7a5a1f;font-size:12px;}

/* drawer header: previous / next lead */
.lc-nav{display:inline-flex;align-items:center;gap:4px;margin-left:auto;}
.lc-nav button{width:28px;height:28px;border-radius:7px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-size:15px;line-height:1;}
.lc-nav button:hover:not([disabled]){border-color:var(--gold);}
.lc-nav button[disabled]{opacity:.35;cursor:default;}
.lc-nav__pos{font-size:11px;color:var(--mute);min-width:52px;text-align:center;font-variant-numeric:tabular-nums;}
.lc-drawer .drawer__hd .lc-nav{position:absolute;top:16px;right:56px;margin:0;}

/* stale-draft caution */
.lc-caution{display:flex;gap:8px;align-items:flex-start;margin:0 0 9px;padding:8px 11px;border-radius:var(--r-sm);
  background:rgba(176,125,43,.09);border:1px solid rgba(176,125,43,.32);color:#7a5a1f;font-size:12px;line-height:1.45;}

/* ---- the update form: grade + why + latest development + next follow-up (one save) ---- */
.lc__title{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;}
.lc-up{display:grid;grid-template-columns:118px 1fr;gap:8px 12px;align-items:start;margin:12px 0 4px;padding-top:12px;border-top:1px dashed var(--line);}
.lc-up__label{font-size:12px;font-weight:600;color:var(--ink);padding-top:8px;}
.lc-up .input{width:100%;min-width:0;box-sizing:border-box;}
.lc-up__dev{resize:vertical;min-height:54px;font:inherit;line-height:1.45;}
.lc-up__next{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.lc-up__next .input{max-width:160px;}
.lc-up__next .chip{padding:4px 9px;font-size:11.5px;}
.lc-up__err{grid-column:1 / -1;font-size:12px;color:var(--red);background:var(--red-soft);border-radius:var(--r-sm);padding:7px 10px;}
.lc-up__actions{grid-column:1 / -1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.lc-up__due{margin-left:auto;}
.tk-ev--upd{background:linear-gradient(90deg,rgba(46,125,90,.08),transparent 75%);border-radius:7px;}
.tk-ev--upd .tk-ev__body{color:var(--ink);}
@media (max-width:768px){
  .lc-up{grid-template-columns:1fr;gap:6px;}
  .lc-up__label{padding-top:4px;}
  .lc-up__due{margin-left:0;}
}

/* ---- stars: a person's own marks (lead list + lead panel) ---- */
.lc-star{border:0;background:transparent;padding:2px 5px;border-radius:6px;font-size:16px;line-height:1;color:var(--mute);cursor:pointer;}
.lc-star:hover{background:var(--gold-soft);color:var(--gold);}
.lc-star.is-on{color:var(--gold);}
.lc-star:focus-visible{outline:2px solid var(--gold);outline-offset:1px;}
.lc-star--hd{font-size:21px;padding:0 4px;margin-left:-4px;}
.lc-star-td{width:34px;}

/* ---- inline grade picker (leads table) ---- */
.gp-cell{cursor:pointer;border-radius:6px;padding:2px 3px;margin:-2px -3px;display:inline-flex;align-items:center;gap:4px;}
.gp-cell:hover{background:var(--gold-soft);}
.gp-cell .gp-none{font-size:11px;color:var(--amber);font-weight:600;}
.gp{position:fixed;z-index:80;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:6px;display:flex;gap:4px;}
.gp__opt{width:34px;height:34px;border-radius:7px;border:1px solid var(--line);background:var(--paper);font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink);}
.gp__opt:hover{border-color:var(--gold);}
.gp__opt.is-on{background:var(--ink);color:#fff;border-color:var(--ink);}
.gp__opt--clear{width:auto;padding:0 9px;font-family:var(--sans);font-size:11px;font-weight:600;color:var(--mute);}

/* ---- lead timeline: day separators + change entries ---- */
.tk-day{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:12px 0 4px;display:flex;align-items:center;gap:8px;}
.tk-day:first-child{margin-top:4px;}
.tk-day::after{content:"";flex:1;height:1px;background:var(--line);}
.tk-ev--chg .tk-ev__body{font-weight:600;color:var(--ink);}
.tk-ev--chg{background:linear-gradient(90deg,rgba(155,125,59,.07),transparent 70%);border-radius:7px;}

/* ================= Activity Log module ================= */
.al{max-width:1180px;}
.al-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.al-head__who{font-size:13px;color:var(--body);}
.al-head__who b{color:var(--ink);}
.al-head .spacer{flex:1;}
.al-daynav{display:inline-flex;align-items:center;gap:6px;}
.al-daynav button{min-width:32px;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-size:13px;font-weight:500;}
.al-daynav button:hover:not([disabled]){border-color:var(--gold);}
.al-daynav button[disabled]{opacity:.35;cursor:default;}

.al-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);}
.al-strip{padding:16px 18px 12px;margin-bottom:18px;}
.al-strip__top{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:12px;}
.al-strip__k{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);}
.al-strip__v{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);margin-left:6px;}
.al-bars{display:grid;grid-template-columns:repeat(30,minmax(14px,1fr));gap:4px;align-items:end;height:96px;}
.al-bar{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border:0;background:none;padding:0;border-radius:5px;}
.al-bar__fill{width:100%;min-height:3px;border-radius:4px 4px 2px 2px;background:var(--rule);transition:background .12s;}
.al-bar.has .al-bar__fill{background:var(--gold-2);}
.al-bar:hover .al-bar__fill{background:var(--gold);}
.al-bar.is-sel .al-bar__fill{background:var(--ink);}
.al-bar.is-weekend .al-bar__fill{opacity:.75;}
.al-bar__n{font-size:9.5px;font-weight:600;color:var(--mute);margin-bottom:3px;font-variant-numeric:tabular-nums;}
.al-bar.is-sel .al-bar__n{color:var(--ink);}
.al-axis{display:grid;grid-template-columns:repeat(30,minmax(14px,1fr));gap:4px;margin-top:6px;}
.al-axis span{font-size:9.5px;color:var(--faint);text-align:center;font-variant-numeric:tabular-nums;}
.al-axis span.is-today{color:var(--gold);font-weight:700;}
.al-axis span.is-sel{color:var(--ink);font-weight:700;}

.al-day__title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:4px 0 12px;}
.al-day__title h2{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink);margin:0;}
.al-day__title .muted{font-size:12.5px;}
.al-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:18px;}
.al-kpi{padding:12px 14px;}
.al-kpi__k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);}
.al-kpi__v{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink);line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums;}
.al-kpi--hero{background:var(--ink);border-color:var(--ink);}
.al-kpi--hero .al-kpi__k{color:var(--gold-2);} .al-kpi--hero .al-kpi__v{color:#fff;}

.al-leads{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;}
.al-lead{padding:13px 15px 11px;cursor:pointer;transition:border-color .12s,box-shadow .12s;text-align:left;width:100%;font:inherit;color:inherit;}
.al-lead:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(21,24,28,.08);}
.al-lead.is-hidden{cursor:default;background:var(--panel);}
.al-lead.is-hidden:hover{border-color:var(--line);box-shadow:none;}
.al-lead__hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.al-lead__name{font-weight:600;color:var(--ink);font-size:14px;}
.al-lead__wal{font-size:11px;color:var(--mute);font-variant-numeric:tabular-nums;}
.al-lead__n{margin-left:auto;font-size:11px;color:var(--mute);}
.al-ev{display:grid;grid-template-columns:44px 20px 1fr;gap:6px;align-items:baseline;padding:4px 0;border-top:1px solid var(--line);font-size:12.5px;}
.al-ev:first-of-type{border-top:0;}
.al-ev__t{font-size:11px;color:var(--mute);font-variant-numeric:tabular-nums;}
.al-ev__body{color:var(--body);line-height:1.45;word-break:break-word;}
.al-ev--chg .al-ev__body{font-weight:600;color:var(--ink);}
.al-empty{padding:42px 20px;text-align:center;color:var(--mute);font-size:13.5px;}
.al-empty b{display:block;font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:4px;}
.al-err{padding:16px;color:var(--red);font-size:13px;}

@media (max-width:768px){
  .lc__opt{min-width:calc(50% - 3px);}
  .lc__hint{margin-left:0;}
  .lc__ev{margin-left:0;}
  .lc__ev-row{flex-wrap:wrap;}
  .lc-drawer .drawer__hd > div:first-child{padding-right:44px;}
  .lc-drawer .drawer__hd .lc-nav{position:static;margin:10px 0 0;}
  .al-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .al-bars,.al-axis{grid-template-columns:repeat(30,18px);width:max-content;}
  .al-leads{grid-template-columns:1fr;}
}

/* ================= Follow-up: the due list ================= */
.fq{max-width:1100px;}
.fq-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.fq-kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.fq-kpi span{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);}
.fq-kpi b{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink);}
.fq-kpi--late b{color:var(--red);}
.fq-kpi--today b{color:var(--gold);}
.fq-kpi--none b{color:var(--mute);}
.fq-sec h3{font-size:13px;font-weight:700;color:var(--ink);margin:18px 0 2px;}
.fq-sec h3 span{color:var(--mute);font-weight:600;margin-left:4px;}
.fq-sec p{font-size:12px;color:var(--mute);margin:0 0 8px;}
.fq-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.fq-row{display:grid;grid-template-columns:18px minmax(0,1.6fr) auto 120px 150px auto;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line);cursor:pointer;}
.fq-row:first-child{border-top:0;}
.fq-row:hover{background:var(--gold-soft);}
.fq-row:focus-within{background:var(--gold-soft);}
.fq-star{color:var(--gold);font-size:14px;}
.fq-who{display:flex;flex-direction:column;min-width:0;}
.fq-who b{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fq-who i{font-style:normal;font-size:11.5px;color:var(--mute);}
.fq-tags{display:flex;gap:6px;align-items:center;}
.fq-due{font-size:12.5px;font-weight:600;color:var(--ink);}
.fq-due.is-late{color:var(--red);}
.fq-due.is-none{color:var(--mute);font-weight:500;}
.fq-none{margin-top:6px;}
.fq-none .btn{margin:2px 0 10px;}
.fq-last{font-size:11.5px;color:var(--mute);}
.fq-empty{padding:40px 20px;text-align:center;color:var(--mute);background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);}
.fq-empty b{display:block;font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:4px;}
/* long ids in the old bot-conversation notes wrap instead of scrolling the lead panel sideways */
.lc-drawer .timeline{overflow-wrap:anywhere;}
.fq-arch{margin:22px 0 10px;}
.fq-drafts{margin-top:6px;}
@media (max-width:768px){
  .fq-kpis{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));}
  .fq-row{grid-template-columns:16px minmax(0,1fr) auto;gap:6px 10px;}
  .fq-tags{grid-column:2;}
  .fq-due{grid-column:3;grid-row:1;}
  .fq-last{display:none;}
  .fq-done{grid-column:2 / -1;justify-self:start;}
}

/* ---- the menu in groups (desktop); the phone bar keeps showing every item ---- */
.nav__grp{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;text-align:left;cursor:pointer;font-family:var(--sans);font-weight:700;}
.nav__grp::after{content:"▾";font-size:10px;letter-spacing:0;opacity:.6;transition:transform .15s;}
.nav__grp[aria-expanded="false"]::after{transform:rotate(-90deg);}
.nav__grp:hover{color:#c4c8cd;}
@media (min-width:769px){ .nav__sec.is-collapsed{display:none;} }
@media (max-width:768px){ .nav__sec{display:contents;} }
