/* ════════════════════════════════════════════════════════════════════
 * partners.css — Module 18 Phase 3 — Hub team Partners view
 * From approved mock-team-partners-view.html. All selectors namespaced
 * under #page-partners / .pt- to avoid colliding with the Hub's styles.css.
 * Tokens are defined locally so the page is self-contained.
 * ════════════════════════════════════════════════════════════════════ */
#page-partners{
  --pt-bg:#0a0a0a; --pt-surface:#181818; --pt-surface2:#202020; --pt-surface3:#282828;
  --pt-border:#2c2c2c; --pt-border2:#3a3a3a;
  --pt-gold:#b8962e; --pt-gold-lt:#d4ae52; --pt-gold-dim:#8a6e20; --pt-gold-glow:rgba(184,150,46,0.15);
  --pt-white:#f5f5f5; --pt-text:#ededed; --pt-muted:#8a8a8a; --pt-muted2:#5e5e5e;
  --pt-green:#6abf7b; --pt-red:#d96b6b; --pt-amber:#d9a441; --pt-blue:#6b9bd9; --pt-teal:#4db8b0;
  --pt-mono:'JetBrains Mono',Menlo,monospace;
  --pt-radius:8px; --pt-radius-lg:12px;
}
.pt-wrap{max-width:1300px}

/* page header em accent (page-header itself is a Hub global) */
#page-partners .page-header h1 em{font-style:normal;color:var(--pt-gold-lt)}

/* switcher */
.pt-bar{display:flex;flex-direction:column;align-items:stretch;gap:.85rem;margin:1.25rem 0}
.pt-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.pt-search{flex:1 1 240px;max-width:360px;background:var(--pt-bg);border:1px solid var(--pt-border2);
  color:var(--pt-text);font-family:var(--pt-mono);font-size:.78rem;letter-spacing:.04em;
  padding:.6rem .85rem;border-radius:var(--pt-radius);outline:none;transition:.18s}
.pt-search::placeholder{color:var(--pt-muted2)}
.pt-search:focus{border-color:var(--pt-gold-dim);box-shadow:0 0 0 3px var(--pt-gold-glow)}
.pt-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:.5rem}
.pt-tab{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;
  background:var(--pt-surface);border:1px solid var(--pt-border2);color:var(--pt-muted);
  font-family:var(--pt-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;
  padding:.7rem .85rem;border-radius:var(--pt-radius);cursor:pointer;transition:.18s}
.pt-tab:hover{color:var(--pt-text);border-color:var(--pt-gold-dim);background:var(--pt-surface2)}
.pt-tab.active{background:var(--pt-gold);border-color:var(--pt-gold);color:var(--pt-bg);font-weight:700}
.pt-empty{color:var(--pt-muted);font-family:var(--pt-mono);font-size:.7rem;padding:.6rem 0}
.pt-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;
  margin-left:.45rem;border-radius:8px;background:var(--pt-gold);color:var(--pt-bg);font-size:.58rem;font-weight:800;
  font-family:var(--pt-mono);vertical-align:middle;box-shadow:0 0 6px var(--pt-gold-glow)}
.pt-tab.active .pt-tab-badge{background:var(--pt-bg);color:var(--pt-gold-lt);box-shadow:none}
.pt-pages-btn{background:var(--pt-surface,#181818);border:1px solid var(--pt-border2,#3a3a3a);
  color:var(--pt-muted,#8a8a8a);font-family:var(--pt-mono,monospace);font-size:.62rem;text-transform:uppercase;
  letter-spacing:.1em;font-weight:700;padding:.5rem .7rem;border-radius:var(--pt-radius,8px);cursor:pointer}
.pt-pages-btn:hover{border-color:var(--pt-gold,#b8962e);color:var(--pt-gold-lt,#d4ae52)}
.pt-pg-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .25rem;border-top:1px solid var(--pt-border,#2c2c2c);
  font-size:.9rem;color:var(--pt-text,#ededed);cursor:pointer}
.pt-pg-row input{accent-color:var(--pt-gold,#b8962e);width:16px;height:16px}

/* summary strip */
.pt-summary{display:flex;gap:.7rem;margin-bottom:1.25rem;flex-wrap:wrap}
.pt-sum{position:relative;overflow:hidden;flex:1;min-width:130px;background:var(--pt-surface);
  border:1px solid var(--pt-border);border-radius:var(--pt-radius-lg);padding:.85rem 1rem}
.pt-sum::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(-45deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),
    radial-gradient(120% 60% at 50% 0%,rgba(184,150,46,.05) 0%,transparent 70%)}
.pt-sum>*{position:relative}
.pt-sum .n{font-size:1.5rem;font-weight:800;font-family:var(--pt-mono);line-height:1;color:var(--pt-white)}
.pt-sum .l{font-size:.66rem;color:var(--pt-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:.4rem}
.pt-sum.alert{border-color:rgba(217,107,107,.3)}
.pt-sum.alert .n{color:var(--pt-red)}
.pt-sum.msg .n{color:var(--pt-gold-lt)}

/* banner */
.pt-banner{font-family:var(--pt-mono);font-size:.8rem;color:var(--pt-muted);padding:.5rem 0}
.pt-banner.err{color:var(--pt-red)}

/* table */
.pt-tbl{background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:var(--pt-radius-lg);overflow:hidden}
.pt-row{display:grid;grid-template-columns:1.2fr 120px 90px 110px 70px 100px;align-items:center;
  padding:.85rem 1.25rem;border-bottom:1px solid var(--pt-border);gap:1rem;transition:background .2s;cursor:pointer}
.pt-row:last-child{border-bottom:none}
.pt-row.head{background:rgba(0,0,0,.2);cursor:default;padding:.6rem 1.25rem}
.pt-row.head .c{font-family:var(--pt-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:var(--pt-muted);font-weight:500;display:flex;align-items:center;gap:.3rem}
.pt-row.head .c.sortable{cursor:pointer}
.pt-row.head .c.sortable:hover{color:var(--pt-text)}
.pt-row:not(.head):hover{background:var(--pt-surface2)}
.pt-row.stale{box-shadow:inset 3px 0 0 var(--pt-red)}
.pt-row.warm-stale{box-shadow:inset 3px 0 0 var(--pt-amber)}
.pt-row .c{font-size:.88rem}
.pt-c-lead{font-weight:600;color:var(--pt-white);display:flex;flex-direction:column;gap:.15rem}
.pt-c-lead small{font-weight:400;color:var(--pt-muted);font-size:.72rem}
.pt-tag{display:inline-block;font-size:.62rem;font-family:var(--pt-mono);color:var(--pt-gold-lt);
  background:var(--pt-gold-glow);border:1px solid var(--pt-gold-dim);border-radius:4px;padding:.05rem .35rem;width:fit-content}
.pt-stat{font-size:.78rem;font-weight:600;width:fit-content;color:var(--pt-text);display:flex;align-items:center}
.pt-stat::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.45rem}
.pt-s-new::before{background:var(--pt-blue)}
.pt-s-working::before{background:var(--pt-teal)}
.pt-s-contacted::before{background:var(--pt-gold-lt)}
.pt-s-booked::before{background:var(--pt-green)}
.pt-s-no_answer::before{background:var(--pt-red)}
.pt-s-cold::before{background:var(--pt-muted2)}
.pt-s-cold{color:var(--pt-muted)}
.pt-c-num{font-variant-numeric:tabular-nums;font-family:var(--pt-mono);font-size:.82rem}
.pt-touch-ok{color:var(--pt-muted)} .pt-touch-warn{color:var(--pt-text)} .pt-touch-bad{color:var(--pt-red)}
.pt-msg-none{color:var(--pt-muted2);font-size:.8rem}
.pt-reclaim{border:1px solid var(--pt-border2);background:var(--pt-surface2);color:var(--pt-text);
  font-size:.7rem;font-weight:700;padding:.4rem .6rem;border-radius:6px;cursor:pointer;transition:.15s}
.pt-reclaim:hover:not(:disabled){border-color:var(--pt-gold);color:var(--pt-gold-lt)}
.pt-reclaim:disabled{opacity:.4;cursor:not-allowed}
.pt-empty{padding:2rem 1.25rem;text-align:center;color:var(--pt-muted2);font-family:var(--pt-mono);font-size:.8rem}

/* legend */
.pt-legend{margin-top:.9rem;display:flex;gap:1.2rem;font-size:.7rem;color:var(--pt-muted);font-family:var(--pt-mono);flex-wrap:wrap}
.pt-legend span{display:flex;align-items:center;gap:.4rem}
.pt-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}
.pt-sw-red{background:var(--pt-red)} .pt-sw-amber{background:var(--pt-amber)}

/* clickable summary tile (Unread → opens messages) */
.pt-sum.clickable{cursor:pointer;transition:border-color .15s}
.pt-sum.clickable:hover{border-color:var(--pt-gold-dim,#8a6e20)}

/* ── General-channel message drawer (team side) ── */
.pt-drawer{position:fixed;inset:0;z-index:1300;display:none}  /* above the Ask DNA+ FAB (#asst-launch z-index:1200) */
.pt-drawer.open{display:block}
/* hide the Ask DNA+ launcher while the message drawer is open (it overlaps the composer) */
body.pt-drawer-open #asst-launch{opacity:0;pointer-events:none}
.pt-drawer-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px)}
.pt-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(440px,94vw);display:flex;flex-direction:column;
  background:var(--pt-bg,#0a0a0a);border-left:1px solid var(--pt-border2,#3a3a3a);box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.pt-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  padding:1.1rem 1.25rem;border-bottom:1px solid var(--pt-border,#2c2c2c)}
.pt-drawer-eyebrow{font-family:var(--pt-mono,monospace);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pt-gold-lt,#d4ae52)}
.pt-drawer-title{font-size:1.05rem;font-weight:800;color:var(--pt-white,#f5f5f5);margin-top:.2rem}
.pt-drawer-close{background:none;border:1px solid var(--pt-border2,#3a3a3a);color:var(--pt-muted,#8a8a8a);
  width:32px;height:32px;border-radius:8px;font-size:1rem;cursor:pointer;flex:none}
.pt-drawer-close:hover{color:var(--pt-text,#ededed)}
.pt-thread{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding:1.1rem 1.25rem}
.pt-thread-empty{margin:auto;color:var(--pt-muted,#8a8a8a);font-size:.84rem;text-align:center}
.pt-msg{max-width:82%;padding:.55rem .75rem;border-radius:13px;font-size:.88rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}
.pt-msg .pt-msg-meta{display:block;font-size:.6rem;margin-top:.3rem;font-family:var(--pt-mono,monospace)}
.pt-msg.client{align-self:flex-start;background:var(--pt-surface,#181818);border:1px solid var(--pt-border,#2c2c2c);
  color:var(--pt-text,#ededed);border-bottom-left-radius:4px}
.pt-msg.client .pt-msg-meta{color:var(--pt-muted2,#5e5e5e)}
.pt-msg.team{align-self:flex-end;background:linear-gradient(135deg,var(--pt-gold-dim,#8a6e20),var(--pt-gold,#b8962e));
  color:#0a0a0a;border-bottom-right-radius:4px}
.pt-msg.team .pt-msg-meta{color:rgba(10,10,10,.6)}
.pt-composer{display:flex;gap:.55rem;align-items:flex-end;padding:.85rem 1.25rem 1.1rem;border-top:1px solid var(--pt-border,#2c2c2c)}
.pt-input{flex:1;resize:none;max-height:120px;background:var(--pt-surface,#181818);border:1px solid var(--pt-border2,#3a3a3a);
  border-radius:11px;padding:.6rem .8rem;color:var(--pt-text,#ededed);font-family:inherit;font-size:.9rem;line-height:1.4}
.pt-input:focus{outline:none;border-color:var(--pt-gold-dim,#8a6e20)}
.pt-send{flex:none;border:none;border-radius:10px;padding:0 1rem;height:40px;cursor:pointer;font-weight:700;font-size:.82rem;
  color:#0a0a0a;background:linear-gradient(135deg,var(--pt-gold,#b8962e),var(--pt-gold-dim,#8a6e20))}
.pt-send:disabled{opacity:.5;cursor:not-allowed}

/* request drawer cards (team triage) */
.pt-rq-seclbl{font-family:var(--pt-mono,monospace);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pt-muted,#8a8a8a);margin:.9rem 0 .5rem}
.pt-rq-card{background:var(--pt-surface,#181818);border:1px solid var(--pt-border,#2c2c2c);border-radius:11px;
  padding:.7rem .8rem;margin-bottom:.6rem}
.pt-rq-top{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.35rem}
.pt-rq-type{font-family:var(--pt-mono,monospace);font-size:.55rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--pt-gold-lt,#d4ae52);border:1px solid var(--pt-gold-dim,#8a6e20);border-radius:20px;padding:.08rem .45rem}
.pt-rq-subject{font-weight:700;color:var(--pt-text,#ededed);font-size:.86rem}
.pt-rq-when{margin-left:auto;color:var(--pt-muted2,#5e5e5e);font-size:.66rem;font-family:var(--pt-mono,monospace)}
.pt-rq-body{color:var(--pt-muted,#8a8a8a);font-size:.8rem;line-height:1.45;white-space:pre-wrap;margin-bottom:.4rem}
.pt-rq-meta{color:var(--pt-muted2,#5e5e5e);font-size:.68rem;margin-bottom:.5rem}
.pt-rq-badge{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.1rem .45rem}
.pt-rq-badge.new{background:rgba(107,155,217,.16);color:#8fb6e6;border:1px solid rgba(107,155,217,.4)}
.pt-rq-badge.in_progress{background:var(--pt-gold-glow,rgba(184,150,46,.15));color:var(--pt-gold-lt,#d4ae52);border:1px solid var(--pt-gold-dim,#8a6e20)}
.pt-rq-badge.done{background:rgba(106,191,123,.14);color:var(--pt-green,#6abf7b);border:1px solid rgba(106,191,123,.4)}
.pt-rq-badge.dismissed{background:var(--pt-surface2,#202020);color:var(--pt-muted,#8a8a8a);border:1px solid var(--pt-border2,#3a3a3a)}
.pt-rq-badge.urgent{background:rgba(217,107,107,.16);color:var(--pt-red,#d96b6b);border:1px solid rgba(217,107,107,.4)}
.pt-rq-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.pt-rq-act{border:1px solid var(--pt-border2,#3a3a3a);background:var(--pt-surface2,#202020);color:var(--pt-text,#ededed);
  font-size:.7rem;font-weight:700;padding:.35rem .6rem;border-radius:7px;cursor:pointer}
.pt-rq-act:hover{border-color:var(--pt-gold,#b8962e);color:var(--pt-gold-lt,#d4ae52)}
.pt-rq-act.gold{background:linear-gradient(135deg,var(--pt-gold,#b8962e),var(--pt-gold-dim,#8a6e20));color:#0a0a0a;border:none}
.pt-rq-act.ghost{background:none;color:var(--pt-muted,#8a8a8a)}

/* ── event detail view (team) ── */
.pt-evt-card{cursor:pointer;transition:border-color .15s,background .15s}
.pt-evt-card:hover{border-color:var(--pt-gold-dim,#8a6e20);background:var(--pt-surface2,#202020)}
.pt-evt-card:focus-visible{outline:2px solid var(--pt-gold-dim,#8a6e20);outline-offset:2px}
.pt-ed-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem}
.pt-ed-title{font-size:1.15rem;font-weight:800;color:var(--pt-white,#f5f5f5);margin-bottom:.5rem}
.pt-ed-grid{margin:.6rem 0}
.pt-ed-row{display:flex;gap:.6rem;padding:.4rem 0;border-top:1px solid var(--pt-border,#2c2c2c);font-size:.85rem}
.pt-ed-row:first-child{border-top:none}
.pt-ed-l{flex:none;width:108px;color:var(--pt-muted,#8a8a8a);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--pt-mono,monospace);padding-top:.15rem}
.pt-ed-v{color:var(--pt-text,#ededed);min-width:0;word-wrap:break-word}
.pt-ed-notes{margin:.6rem 0;font-size:.85rem;color:var(--pt-text,#ededed);line-height:1.45}
.pt-ed-notes .pt-ed-l{display:block;width:auto;margin-bottom:.25rem}
.pt-ed-sec{margin-top:1.1rem;border-top:1px solid var(--pt-border,#2c2c2c);padding-top:.9rem}
.pt-ed-qr{width:180px;max-width:62%;background:#fff;border-radius:10px;padding:10px;margin:.2rem 0 .7rem}
.pt-ed-qr svg{width:100%;height:auto;display:block}
.pt-ed-qr .pt-thread-empty{color:#8a8a8a;margin:0;padding:1.4rem .5rem}
.pt-ed-link{display:flex;gap:.4rem;align-items:center}
.pt-ed-link input{flex:1;min-width:0;background:var(--pt-surface,#181818);border:1px solid var(--pt-border2,#3a3a3a);color:var(--pt-muted,#8a8a8a);border-radius:7px;padding:.45rem .55rem;font-size:.72rem;font-family:var(--pt-mono,monospace)}
/* full-page event detail: 2 columns (details | QR) */
.pt-ep-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.75rem;align-items:start;margin-top:.4rem}
.pt-ep-main{min-width:0}
.pt-ep-side{min-width:0}
.pt-ep-side .pt-ed-qr{width:100%;max-width:260px}
@media(max-width:760px){.pt-ep-cols{grid-template-columns:1fr}}
.pt-ed-entries{border:1px solid var(--pt-border,#2c2c2c);border-radius:10px;overflow:hidden}
.pt-en-row{display:grid;grid-template-columns:1fr 70px .9fr 1.2fr .7fr 96px 92px;gap:.55rem;padding:.55rem .8rem;border-top:1px solid var(--pt-border,#2c2c2c);font-size:.82rem;align-items:center}
.pt-en-links{display:flex;flex-direction:column;gap:1px;align-items:flex-start}
.pt-en-visit{color:#7ecf8a;font-size:.76rem;white-space:nowrap}
.pt-en-seclbl{display:flex;align-items:center;gap:.6rem}
.pt-en-csv{margin-left:auto;background:var(--pt-surface2,#202020);color:var(--pt-text,#ededed);border:1px solid var(--pt-border2,#3a3a3a);border-radius:6px;font:inherit;font-size:.7rem;padding:.2rem .55rem;cursor:pointer}
.pt-en-csv:hover{border-color:var(--pt-gold-lt,#d4ae52);color:var(--pt-gold-lt,#d4ae52)}
.pt-en-zen{color:#4db8b0;font-family:var(--pt-mono,monospace);font-size:.72rem;text-decoration:none;white-space:nowrap}
.pt-en-zen:hover{text-decoration:underline}
.pt-en-row:first-child{border-top:none}
.pt-en-head{background:rgba(0,0,0,.2);font-family:var(--pt-mono,monospace);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pt-muted,#8a8a8a)}
.pt-en-nm{color:var(--pt-text,#ededed);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-en-em{color:var(--pt-muted,#8a8a8a);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-en-pt{font-family:var(--pt-mono,monospace);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:20px;white-space:nowrap}
.pt-en-pt.new{background:rgba(107,155,217,.16);color:#8fb6e6;border:1px solid rgba(107,155,217,.4)}
.pt-en-pt.exist{background:var(--pt-surface2,#202020);color:var(--pt-muted,#8a8a8a);border:1px solid var(--pt-border2,#3a3a3a)}
.pt-en-ghl{color:var(--pt-gold-lt,#d4ae52);font-family:var(--pt-mono,monospace);font-size:.72rem;text-decoration:none;white-space:nowrap}
.pt-en-ghl:hover{text-decoration:underline}
.pt-en-none{color:var(--pt-muted2,#5e5e5e)}
.pt-en-err{color:var(--pt-red,#d96b6b);font-size:.7rem}

/* ── event ROI funnel (header + outcome chips + deeplinks) ── */
.er-roi{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;background:var(--pt-surface,#181818);
  border:1px solid var(--pt-border,#2c2c2c);border-radius:10px;padding:.7rem .9rem;margin-bottom:.6rem;
  font-size:.8rem;color:var(--pt-text,#ededed)}
.er-roi span{white-space:nowrap}
.er-roi b{color:var(--pt-gold-lt,#d4ae52)}
.er-nocost{color:var(--pt-muted2,#5e5e5e);font-style:italic}
.er-chip{display:inline-block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  border-radius:20px;padding:.15rem .5rem;white-space:nowrap}
.er-chip.visited{background:rgba(106,191,123,.14);color:var(--pt-green,#6abf7b);border:1px solid rgba(106,191,123,.4)}
.er-chip.booked{background:var(--pt-gold-glow,rgba(184,150,46,.15));color:var(--pt-gold-lt,#d4ae52);border:1px solid var(--pt-gold-dim,#8a6e20)}
.er-chip.matched{background:var(--pt-surface2,#202020);color:var(--pt-muted,#8a8a8a);border:1px solid var(--pt-border2,#3a3a3a)}
.er-chip.nomatch{background:none;color:var(--pt-muted2,#5e5e5e);border:1px solid var(--pt-border,#2c2c2c)}
.er-ghl{color:var(--pt-blue,#6b9bd9);font-family:var(--pt-mono,monospace);font-size:.72rem;text-decoration:none;white-space:nowrap}
.er-ghl:hover{text-decoration:underline}
.er-zen{color:var(--pt-teal,#4db8b0);font-family:var(--pt-mono,monospace);font-size:.72rem;text-decoration:none;white-space:nowrap}
.er-zen:hover{text-decoration:underline}
@media(max-width:640px){.pt-en-row{grid-template-columns:1.3fr 66px 1fr 64px;gap:.4rem}.pt-en-row>span:nth-child(4),.pt-en-row>span:nth-child(5){display:none}}
.pt-ef{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.pt-ef-f{display:flex;flex-direction:column;gap:.25rem;font-size:.66rem;color:var(--pt-muted,#8a8a8a);text-transform:uppercase;letter-spacing:.06em;font-family:var(--pt-mono,monospace)}
.pt-ef-full{grid-column:1/-1}
.pt-ef-f input,.pt-ef-f textarea{background:var(--pt-surface,#181818);border:1px solid var(--pt-border2,#3a3a3a);color:var(--pt-text,#ededed);border-radius:8px;padding:.5rem .6rem;font-family:var(--pt-sans,inherit);font-size:.86rem;text-transform:none;letter-spacing:normal;color-scheme:dark}
.pt-ef-f textarea{min-height:68px;resize:vertical}
.pt-ef-f input:focus,.pt-ef-f textarea:focus{outline:none;border-color:var(--pt-gold-dim,#8a6e20)}

/* ── detail-mode "Upcoming events" panel ── */
#pt-detail-events{margin:0 0 1.25rem}
.pt-de-h{font-family:var(--pt-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pt-gold-lt);margin:0 0 .6rem}
.pt-de-list{display:flex;flex-direction:column;gap:.5rem}
.pt-de-ev{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:10px;padding:.7rem .9rem;cursor:pointer;color:var(--pt-text);font-family:inherit;font-size:.9rem;transition:.15s}
.pt-de-ev:hover{border-color:var(--pt-gold-dim);background:var(--pt-surface2)}
.pt-de-ev.new{border-color:rgba(107,155,217,.4)}
.pt-de-when{font-family:var(--pt-mono);font-size:.72rem;color:var(--pt-muted);white-space:nowrap;min-width:96px}
.pt-de-ttl{font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-de-fu{font-size:.68rem;color:var(--pt-muted2);white-space:nowrap;font-family:var(--pt-mono)}
@media(max-width:640px){.pt-de-ev{flex-wrap:wrap;gap:.4rem}.pt-de-when{min-width:0}.pt-de-fu{flex-basis:100%}}
/* detail-mode comms cards (Messages / Requests / Events) */
.pt-dc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.4rem}
.pt-dc{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:12px;padding:.9rem 1rem;cursor:pointer;text-align:left;transition:.15s;font-family:inherit}
.pt-dc:hover{border-color:var(--pt-gold-dim);background:var(--pt-surface2)}
.pt-dc-n{font-family:var(--pt-mono);font-size:1.6rem;font-weight:800;color:var(--pt-muted2);line-height:1}
.pt-dc.on .pt-dc-n{color:var(--pt-gold-lt)}
.pt-dc-l{font-size:.82rem;color:var(--pt-text);font-weight:600;margin-top:.35rem}
.pt-dc-s{font-family:var(--pt-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pt-muted2);margin-top:.1rem}
.pt-dc.on .pt-dc-s{color:var(--pt-gold-dim)}
.pt-de-empty{color:var(--pt-muted2);font-family:var(--pt-mono);font-size:.78rem;padding:.55rem 0}
@media(max-width:560px){.pt-dc-grid{grid-template-columns:1fr 1fr}}

@media(max-width:820px){
  .pt-row{grid-template-columns:1.4fr 90px 70px;gap:.5rem;padding:.7rem .85rem}
  .pt-row .c:nth-child(3),.pt-row .c:nth-child(4){display:none}
  .pt-drawer-panel{width:100vw}
}
@media(max-width:520px){ .pt-ef{grid-template-columns:1fr} }
