/* ── TG Hub v2.0 ── */
/* Design rules: serif headings only · Source Sans Pro Semibold elsewhere · 3-col grid · left bars on cards */
:root {
  --nav:      #5F7D09;
  --bg:       #F8F8F8;
  --surface:  #FFFFFF;
  --border:   #E2E4EC;
  --text-1:   #1C1C1E;
  --text-2:   #6B6E7A;
  --text-3:   #9B9EA8;
  --dark:        #1C1C1E;
  --dark-2:      #2C2C2E;
  --dark-border: #3A3A3C;
  --accent:   #5F7D09;
  --accent-d: #4A6207;
  --green:    #059669;
  --amber:    #D97706;
  --red:      #DC2626;
  --purple:   #7C3AED;
  --purple-l: #EDE9FE;
  --accent-l: #F0F5E5;
  --accent-bd:#D9E5C0;
  /* Pipeline */
  --s-id:     #6B7280;
  --s-cont:   #2563EB;
  --s-prog:   #D97706;
  --s-act:    #059669;
  --s-won:    #059669;
  --s-lost:   #DC2626;
  /* Semantic */
  --ok:       #059669;
  --ok-l:     #D1FAE5;
  --warn:     #D97706;
  --warn-l:   #FEF3C7;
  --err:      #DC2626;
  --err-l:    #FEF2F2;
  --bg-2:     #ECEEF5;
  --bg-group: #E2E4EE;
  --border-2: #CDD0DB;
  --task-bg:  #F0F1F3;
  --tg-lime-d:#4A6B0A;
  /* Application cards */
  --app-tghub:    #698B0B;
  --app-chi:      #3D5A8A;
  --app-ugc:      #4A7C59;
  --app-csgf:     #8B7355;
  --app-academy:  #3D7A4A;
  --app-csgi:     var(--tg-terra);
  --app-rift:     #2B6B8A;
  /* Lifecycle */
  --lc-conception:     #8B5CF6;
  --lc-definition:     #3B82F6;
  --lc-development:    #F59E0B;
  --lc-implementation: #10B981;
  --lc-scaling:        #059669;
  --lc-renewal:        #6366F1;
  /* CHI Counsel */
  --cc-enquiry:   #3A6EA8;
  --cc-challenge: #C57153;
  --cc-decision:  #2A7A4A;
  --cc-activity:  #7A5EA8;
  /* AI participants (must NOT appear in AVATAR_PALETTE) */
  --ai-claude:    #D97757;
  --ai-chatgpt:   #10A37F;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{overflow-y:scroll;}
body{font-family:'Source Sans Pro',system-ui,sans-serif;font-size:14px;color:var(--text-1);background:var(--bg);min-height:100vh;}

/* ── LOGIN ── */
#hub-login{position:fixed;inset:0;background:var(--nav);display:flex;align-items:center;justify-content:center;z-index:9999;}
.login-box{width:320px;}
.login-brand{font-size:24px;font-family:'Source Serif Pro',Georgia,serif;font-weight:600;color:#E8E6E0;margin-bottom:4px;}
.login-sub{font-size:11px;color:#6B6866;letter-spacing:.07em;text-transform:uppercase;margin-bottom:32px;}
.login-field{margin-bottom:12px;}
.login-field input{width:100%;background:var(--dark-2);border:1px solid var(--dark-border);color:#E8E6E0;padding:10px 12px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;}
.login-field input:focus{border-color:var(--accent);}
.login-field input::placeholder{color:#6B6866;}
.login-btn{width:100%;background:var(--accent);color:#fff;border:none;padding:11px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:.03em;margin-top:4px;transition:background .15s;}
.login-btn:hover{background:var(--accent-d);}
.login-err{font-size:12px;color:#FC8181;margin-top:10px;display:none;}

/* ── NAV ── */
nav{background:var(--nav);color:#E8E6E0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:58px;position:sticky;top:0;z-index:100;}
.nav-left{display:flex;align-items:center;gap:16px;}
.nav-brand{font-size:15px;font-weight:600;letter-spacing:.04em;color:#fff;line-height:1;display:flex;align-items:center;}
.nav-center{display:flex;align-items:center;gap:4px;}
.nav-tab{font-size:12px;color:rgba(255,255,255,.72);cursor:pointer;padding:5px 16px;border:1px solid rgba(255,255,255,.28);transition:all .15s;border-radius:0;background:none;font-family:inherit;line-height:1;}
.nav-tab.active,.nav-tab:hover{color:#fff;border-color:rgba(255,255,255,.55);}
.nav-right{display:flex;align-items:center;gap:10px;}
.hamburger{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.72);font-size:18px;padding:4px 8px;line-height:1;transition:color .15s;}
.hamburger:hover{color:#fff;}
.hmenu-overlay{position:fixed;inset:0;z-index:400;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .2s;}
.hmenu-overlay.open{opacity:1;pointer-events:all;}
.hmenu-bg{position:absolute;inset:0;background:rgba(28,28,30,.4);}
.hmenu{position:relative;width:240px;background:var(--dark);height:100%;display:flex;flex-direction:column;padding:20px 0;transform:translateX(100%);transition:transform .25s ease;}
.hmenu-overlay.open .hmenu{transform:translateX(0);}
.hmenu-item{display:flex;align-items:center;padding:3px 20px;cursor:pointer;color:rgba(255,255,255,.7);font-size:13px;transition:all .15s;}
.hmenu-item:hover{background:var(--dark-2);color:#fff;}
.hmenu-item.active{color:#fff;}
.hmenu-sep{height:1px;background:var(--dark-border);margin:8px 20px;}
.hmenu-section{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6B6866;padding:14px 20px 4px;}

/* ── LAYOUT ── */
#app{display:none;}
.layout{display:flex;height:calc(100vh - 52px);}

/* ── SIDEBAR ── */
.sidebar{width:220px;min-width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.sb-search-wrap{padding:18px 14px;}
.sb-search{width:100%;box-sizing:border-box;border:1px solid var(--border);padding:5px 10px;font-size:12px;font-family:inherit;outline:none;color:var(--text-1);background:var(--bg);}
.sb-search:focus{border-color:var(--accent);}
.sb-sep{height:1px;background:var(--border);}
.sb-body{flex:1;overflow-y:auto;}
.sb-scope{padding:12px 14px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.sb-scope-up{display:block;font-size:10px;color:var(--text-3);text-decoration:none;cursor:pointer;margin-bottom:3px;text-transform:uppercase;letter-spacing:.08em;}
.sb-scope-up:hover{color:var(--accent);}
.sb-scope-link{display:block;font-weight:600;font-size:14px;color:var(--text-1);text-decoration:none;cursor:pointer;letter-spacing:.01em;}
.sb-scope-link:hover{color:var(--accent);}
.sb-sec-title{padding:10px 14px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.sb-list{display:flex;flex-direction:column;}
.sb-list-item{padding:5px 14px;font-size:13px;color:var(--text-2);text-decoration:none;cursor:pointer;border-left:3px solid transparent;}
.sb-list-item:hover{background:var(--bg-2);color:var(--text-1);}
.sb-list-item.active{background:var(--bg-2);color:var(--text-1);font-weight:600;border-left-color:var(--accent);}

/* ── MAIN ── */
.main{flex:1;overflow-y:auto;padding:28px 32px;}
.view{display:none;}
.view.active{display:block;}
.page-header{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.page-meta{font-size:13px;color:var(--text-2);}

/* METAXI subnav: thin tab strip above the page header on view-outreach
   and view-intake, switching between the two ingestion-path views. */
.metaxi-subnav{display:flex;gap:0;border-bottom:1px solid var(--border);margin:0 0 22px;}
.metaxi-subnav-item{background:none;border:none;border-bottom:2px solid transparent;padding:8px 16px;margin-bottom:-1px;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-3);cursor:pointer;letter-spacing:.01em;transition:color .12s,border-color .12s;}
.metaxi-subnav-item:hover{color:var(--text-1);}
.metaxi-subnav-item.active{color:var(--tg-green);border-bottom-color:var(--tg-green);}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;min-width:80px;font-size:13px;font-weight:600;line-height:1.15;font-family:inherit;cursor:pointer;border:none;letter-spacing:.02em;transition:all .15s;white-space:nowrap;text-decoration:none;}
a.btn,a.btn:hover,a.btn:visited{text-decoration:none;}
.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border);}.btn-ghost:hover{border-color:var(--text-2);color:var(--text-1);}
.btn-danger{background:var(--red);color:#fff;}.btn-danger:hover{filter:brightness(.88);}
.btn-sm{padding:0 10px;font-size:12px;min-width:0;height:26px;}

/* ── FILTER BAR ── */
.filter-bar{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap;align-items:center;}
.filter-bar-sm{margin-bottom:12px;}
.filter-bar-sm .filter-chip{font-size:11px;padding:3px 10px;min-width:0;}
.filter-chip.chip-archive{color:var(--text-3);border-color:var(--border);}
.filter-chip.chip-archive:hover{color:var(--text-2);border-color:var(--text-3);}
.filter-chip.chip-archive.active{background:var(--text-3);color:#fff;border-color:var(--text-3);}
.filter-bar-sep{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0;}
.filter-spacer{flex:1;}
.search-input{border:1px solid var(--border);padding:5px 10px;font-size:12px;font-family:inherit;outline:none;width:180px;color:var(--text-1);background:var(--surface);}
.search-input:focus{border-color:var(--accent);}

/* ── SEC LABEL ── */
.sec-label{font-size:11px;letter-spacing:.12em;color:var(--text-3);text-transform:uppercase;margin-bottom:12px;margin-top:28px;font-family:var(--font-sans);font-weight:600;}
.sec-label:first-of-type{margin-top:0;}

/* ── 3-COL GRID ── */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px;}

/* ── STAT CARDS ── */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px;}
.stat-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:16px 18px;}
.stat-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;}
.stat-value{font-size:30px;font-weight:600;color:var(--text-1);line-height:1;}
.stat-sub{font-size:12px;color:var(--text-2);margin-top:5px;}

/* ── LEAD CARD ── */
.lead-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--s-id);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;position:relative;}
.lead-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.lead-card.cs-identified{border-left-color:var(--s-id);}
.lead-card.cs-engaged,.lead-card.cs-qualified,.lead-card.cs-approached{border-left-color:var(--s-cont);}
.lead-card.cs-proposed,.lead-card.cs-negotiating,.lead-card.cs-aligning{border-left-color:var(--s-prog);}
.lead-card.cs-active,.lead-card.cs-won{border-left-color:var(--s-won);}
.lead-card.cs-lost{border-left-color:var(--s-lost);opacity:.65;}
.lead-card.cs-concluded{border-left-color:var(--text-3);opacity:.65;}
.lead-card.lc-selected{background:#EFF6FF;border-color:#BFDBFE;}
.company-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;}
.company-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.lead-cb{position:absolute;top:10px;right:10px;width:14px;height:14px;cursor:pointer;accent-color:var(--accent);}
.lead-name{font-size:14px;font-weight:600;color:var(--text-1);line-height:1.3;}
.lead-org{font-size:12px;color:var(--text-2);}
.lead-summary{font-size:12px;color:var(--text-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.lead-pipes{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px;}
/* Relationship type badges on People cards */
.rel-badge{font-size:10px;padding:2px 7px;border:1px solid;font-weight:600;letter-spacing:.03em;}
.rel-contact{background:#F3F4F6;color:#6B7280;border-color:#D1D5DB;}
.rel-team{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE;}
.rel-collaborator{background:#F0FDF4;color:#15803D;border-color:#BBF7D0;}
.rel-prospect{background:#FFFBEB;color:#D97706;border-color:#FDE68A;}
.rel-sponsor{background:#FFFBEB;color:#D97706;border-color:#FDE68A;}
.rel-investor{background:#FEF3C7;color:#92400E;border-color:#FDE68A;}
.rel-funder{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE;}
.rel-government{background:#F5F3FF;color:#6D28D9;border-color:#DDD6FE;}
.rel-multilateral{background:#F5F3FF;color:#6D28D9;border-color:#DDD6FE;}
.rel-academic{background:#ECFDF5;color:#047857;border-color:#A7F3D0;}
.rel-legal{background:#F3F4F6;color:#6B7280;border-color:#D1D5DB;}
.rel-supplier{background:#F3F4F6;color:#6B7280;border-color:#D1D5DB;}
.rel-media{background:#FFF7ED;color:#C2410C;border-color:#FED7AA;}
.rel-beneficiary{background:#ECFDF5;color:#047857;border-color:#A7F3D0;}
.rel-partner{background:#F0FDF4;color:#15803D;border-color:#BBF7D0;}
.rel-advisor{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE;}
.rel-board{background:#F5F3FF;color:#6D28D9;border-color:#DDD6FE;}
/* Legacy aliases for old pipeline badges */
.pipe-badge{font-size:10px;padding:2px 7px;border:1px solid;font-weight:600;letter-spacing:.03em;}
.pipe-sales{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE;}
.pipe-collab{background:#F0FDF4;color:#15803D;border-color:#BBF7D0;}
.lead-foot{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border);margin-top:2px;}
.lead-type{font-size:10px;padding:2px 6px;background:var(--bg);color:var(--text-3);border:1px solid var(--border);}
.lead-owner{font-size:11px;color:var(--text-3);}
/* ── BATCH BAR ── */
.batch-bar{display:none;position:sticky;bottom:0;background:var(--dark-2);color:#E8E6E0;padding:6px 20px;align-items:center;gap:8px;z-index:50;border-top:1px solid var(--dark-border);}
.batch-bar.visible{display:flex;}
.batch-count{font-size:13px;font-weight:600;color:rgba(255,255,255,.65);}
.batch-sep{width:1px;height:16px;background:var(--dark-border);flex-shrink:0;}
.batch-check{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:rgba(255,255,255,.72);cursor:pointer;letter-spacing:.02em;user-select:none;line-height:1;}
.batch-check input{accent-color:var(--accent);cursor:pointer;width:13px;height:13px;flex-shrink:0;box-shadow:none;vertical-align:middle;}
.batch-check input:indeterminate{opacity:.4;}
.batch-btn-clr{background:transparent;color:rgba(255,255,255,.45);border:1px solid var(--dark-border);}
.batch-btn-clr:hover{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.3);}
.batch-select{background:var(--dark-2);color:#E8E6E0;border:1px solid var(--dark-border);border-radius:0;padding:4px 8px;font-size:13px;font-family:inherit;cursor:pointer;outline:none;}
.batch-select:focus{border-color:var(--accent);}

/* ── INITIATIVE CARD ── */
.init-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;}
.init-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.init-card.lc-conception{border-left-color:var(--lc-conception);}
.init-card.lc-definition{border-left-color:var(--lc-definition);}
.init-card.lc-development{border-left-color:var(--lc-development);}
.init-card.lc-implementation{border-left-color:var(--lc-implementation);}
.init-card.lc-scaling{border-left-color:var(--lc-scaling);}
.init-card.lc-renewal{border-left-color:var(--lc-renewal);}
.init-title{font-size:14px;font-weight:600;color:var(--text-1);line-height:1.3;}
.init-desc{font-size:12px;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.init-foot{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border);margin-top:2px;}
.init-meta{font-size:11px;color:var(--text-3);}

/* ── SITE CARD ── */
.site-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text-3);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;}
.site-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.site-card.site-pub{border-left-color:var(--accent);}
.site-domain{font-size:11px;color:var(--text-3);letter-spacing:.02em;font-family:'Source Sans Pro',system-ui,sans-serif;}
.lc-pill.site-pub{background:var(--bg);color:var(--accent);}
.lc-pill.site-draft{background:var(--bg);color:var(--text-3);}

/* ── SITE DETAIL ── */
.site-sec{background:var(--surface);border:1px solid var(--border);margin-bottom:14px;padding:14px 16px;}
.site-sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.site-sec-title{font-size:13px;font-weight:600;color:var(--text-1);letter-spacing:.02em;text-transform:uppercase;}
.content-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s;}
.content-row:hover{background:var(--bg);}
.content-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.content-row-title{font-size:13px;font-weight:600;color:var(--text-1);display:flex;align-items:center;gap:8px;}
.content-row-meta{font-size:11px;color:var(--text-3);}
.content-row-status{flex-shrink:0;}
.content-row-tag{font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--bg);padding:1px 6px;}

/* ── BLOCK EDITOR ── */
.block-list{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.block-empty{padding:36px;text-align:center;font-size:13px;color:var(--text-3);border:1px dashed var(--border);}
.block-item{background:var(--surface);border:1px solid var(--border);padding:12px 14px;position:relative;}
.block-item:hover{border-color:var(--accent);}
.block-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);}
.block-item-ctrls{display:flex;gap:4px;}
.block-ctrl{background:none;border:1px solid var(--border);padding:2px 8px;font-size:12px;cursor:pointer;color:var(--text-2);}
.block-ctrl:hover{border-color:var(--accent);color:var(--accent);}
.block-ctrl.danger:hover{border-color:var(--red);color:var(--red);}
.block-ctrl:disabled{opacity:.35;cursor:not-allowed;}
.block-preview{font-size:13px;color:var(--text-1);line-height:1.55;}
.block-preview h1,.block-preview h2,.block-preview h3{margin:0;line-height:1.25;color:var(--text-1);}
.block-preview h1{font-size:24px;font-weight:600;}
.block-preview h2{font-size:19px;font-weight:600;}
.block-preview h3{font-size:15px;font-weight:600;}
.block-preview img{max-width:160px;max-height:100px;display:block;}
.block-preview .preview-image-text{display:flex;gap:14px;align-items:flex-start;}
.block-preview .preview-cta{padding:8px 14px;background:var(--accent);color:#fff;display:inline-block;font-weight:600;}
.block-preview .preview-embed{font-family:'Source Sans Pro',monospace;font-size:12px;color:var(--text-3);background:var(--bg);padding:6px 10px;}
.block-preview .preview-gallery{display:flex;gap:6px;flex-wrap:wrap;}
.block-preview .preview-gallery img{max-width:80px;max-height:60px;}

.block-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.block-picker-btn{background:var(--surface);border:1px solid var(--border);padding:14px;cursor:pointer;text-align:left;transition:border-color .12s;}
.block-picker-btn:hover{border-color:var(--accent);}
.block-picker-name{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:2px;}
.block-picker-desc{font-size:11px;color:var(--text-3);line-height:1.4;}

.bf-fields{display:none;}
.bf-fields.active{display:block;}
.bf-quill .ql-editor{min-height:140px;font-family:'Source Sans Pro',system-ui,sans-serif;font-size:14px;}
.upload-row{display:flex;gap:6px;align-items:center;}
.upload-row input[type="text"]{flex:1;min-width:0;}
.upload-status{font-size:11px;color:var(--text-3);margin-top:4px;display:none;}
.site-live-url{color:var(--accent);text-decoration:none;font-size:12px;}
.site-live-url:hover{text-decoration:underline;}
.translation-info{font-size:12px;color:var(--text-2);background:var(--bg);border:1px solid var(--border);padding:8px 12px;margin-bottom:12px;}
.content-row-tag.locale-tag{background:var(--tg-slate);color:#fff;}
.content-row-tag.needs-review-tag{background:var(--amber);color:#fff;font-size:9px;}
.needs-review-banner{background:#FEF3C7;border:1px solid #FDE68A;color:var(--amber);padding:10px 14px;font-size:13px;margin-bottom:14px;display:flex;align-items:center;}

/* ── MEDIA LIBRARY ── */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;max-height:60vh;overflow-y:auto;padding:4px;}
.media-tile{background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:border-color .12s,box-shadow .12s;display:flex;flex-direction:column;overflow:hidden;}
.media-tile:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.08);}
.media-thumb{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.media-meta{padding:8px 10px;}
.media-name{font-size:12px;font-weight:600;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.media-sub{font-size:10px;color:var(--text-3);margin-top:2px;}

/* ── TASK ITEM ── */
.task-item{background:var(--task-bg);border:1px solid var(--border);padding:8px 16px;margin-bottom:6px;cursor:pointer;transition:box-shadow .12s;display:flex;align-items:center;gap:12px;position:relative;}
.task-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.08);}
/* Urgency tinting: due-today fills the background; overdue uses a
   red outline instead (so the row's meta chips keep their default
   styling and stay readable). */
.task-item.task-due-today{background:var(--task-due-today-bg);color:#fff;}
/* Push white onto chips that sit directly on the due-today fill. */
.task-item.task-due-today .task-meta-key,.task-item.task-due-today .task-meta-val{color:#fff;}
.task-item.task-overdue{border-color:var(--red);}
.task-item.s-completed{opacity:.5;}
/* Strike through the title text only — chips are siblings of the
   title span inside .task-title, and we don't want the line cutting
   across them. */
.task-item.s-completed .task-title > span:first-child{text-decoration:line-through;text-decoration-thickness:1px;}
.task-item.archived{opacity:.35;}
.task-item.s-cancelled{opacity:.35;}
.task-item.parent-locked{opacity:.4;}
.task-check{width:14px;height:14px;border:1.5px solid var(--border);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.task-check.locked{cursor:default;pointer-events:none;}
.task-check:hover{border-color:var(--accent);}
.task-check.done{background:var(--green);border-color:var(--green);}
.task-body{flex:1;min-width:0;}
.task-title{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:4px;}
.task-title>span:first-child:not(.group-count),.group-title>span:first-child:not(.group-count){display:inline-block;padding:12px;margin:-12px;cursor:pointer;}
.task-item.s-completed .task-title,.task-item.archived .task-title{text-decoration:line-through;color:var(--text-3);}
.task-meta{font-size:11px;color:var(--text-3);display:flex;gap:10px;flex-wrap:wrap;}
.task-proj-inline{font-size:11px;font-weight:400;color:var(--text-3);margin-left:6px;display:inline-flex;align-items:baseline;gap:4px;}
.task-meta-key{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:600;}
.task-meta-val{color:var(--text-2);}
.task-meta-person .task-meta-val{color:var(--accent);font-weight:500;}
.task-id{font-size:10px;color:var(--text-3);font-family:monospace;letter-spacing:.02em;cursor:pointer;align-self:center;flex-shrink:0;padding-top:2px;opacity:0;transition:opacity .12s;}
.task-item:hover .task-id{opacity:1;}
.task-id:hover{color:var(--accent);}
.task-overdue-tag{font-size:13px;font-weight:700;color:var(--red);flex-shrink:0;line-height:1;align-self:center;}
.task-due{color:var(--text-2);}
.task-due.overdue{color:var(--red);font-weight:600;}
.task-assignee{font-size:11px;background:var(--bg);padding:2px 8px;border:1px solid var(--border);color:var(--text-2);white-space:nowrap;flex-shrink:0;align-self:center;width:120px;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:5px;}
.task-assignee-icon{flex-shrink:0;color:var(--text-3);}
.task-assignee-name{overflow:hidden;text-overflow:ellipsis;}
.task-unassigned{color:var(--text-3);border-style:dashed;}
.task-wrap{margin-bottom:6px;}
.task-wrap>.task-item{margin-bottom:0;}
.task-children{border-left:2px solid var(--border-2);margin-left:28px;margin-top:6px;}
.task-wrap.collapsed>.task-children{display:none;}
.task-toggle{background:none;border:none;padding:6px 10px;cursor:pointer;color:var(--text-3);display:flex;align-items:center;flex-shrink:0;font-size:14px;line-height:1;align-self:center;transition:color .12s;}
.task-toggle:hover{color:var(--text-1);}
.task-child{background:var(--bg);border-bottom:1px solid var(--border);padding:7px 12px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;transition:background .1s;}
.task-child:hover{background:var(--bg-2);}
.task-child .task-body .task-title{font-size:12px;}
.task-child.s-completed{opacity:.55;}
.task-child.s-completed .task-title,.task-child.archived .task-title{text-decoration:line-through;color:var(--text-3);}
.task-right{display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;}
.task-id-cell{display:flex;align-items:center;gap:6px;flex-shrink:0;width:92px;}
.task-actions{display:flex;align-items:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .12s;flex-shrink:0;}
.task-actions:empty{display:none;}
.task-item:hover .task-actions{opacity:1;pointer-events:auto;}
.add-sub-inline{background:none;border:1px dashed var(--border-2);color:var(--text-3);font-family:inherit;font-size:11px;cursor:pointer;padding:2px 8px;transition:all .12s;white-space:nowrap;}
.add-sub-inline:hover{border-color:var(--accent);color:var(--accent);}
/* View toggle (Hierarchy / Flat) */
.view-toggle{display:inline-flex;border:1px solid var(--border);overflow:hidden;}
.view-toggle-opt{background:var(--surface);border:none;padding:4px 12px;font-size:12px;font-weight:600;font-family:inherit;color:var(--text-3);cursor:pointer;transition:all .12s;}
.view-toggle-opt:not(:last-child){border-right:1px solid var(--border);}
.view-toggle-opt:hover{color:var(--text-1);}
.view-toggle-opt.active{background:var(--accent);color:#fff;}
/* Add Task split button */
.add-split{display:inline-flex;position:relative;}
.add-split-main{border-right:1px solid rgba(255,255,255,.25);}
.add-split-caret{padding:8px 9px;min-width:0;font-size:11px;}
.add-split-menu{display:none;position:absolute;top:calc(100% + 2px);right:0;background:var(--surface);border:1px solid var(--border);min-width:160px;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.add-split-menu.open{display:block;}
.add-split-menu button{display:block;width:100%;padding:8px 12px;background:none;border:none;text-align:left;font-size:13px;cursor:pointer;font-family:inherit;color:var(--text-1);}
.add-split-menu button:hover{background:var(--bg-2);}
/* Group items */
.type-group>.task-item{background:var(--bg-group);border-left-color:var(--border-2);}
.type-group.is-context>.task-item{background:var(--border-2);}
.group-title{font-size:13px;font-weight:600;color:var(--text-1);}
.group-count{margin-left:8px;font-size:11px;font-weight:400;color:var(--text-3);background:var(--border);padding:1px 6px;vertical-align:middle;}
/* Batch selection */
.task-check{cursor:pointer;}
.task-check.selected{background:var(--accent);border-color:var(--accent);}
.task-check.selected svg{display:block;}
.task-check.locked{cursor:default;}
.task-item.batch-selected{background:color-mix(in srgb,var(--accent) 8%,var(--surface));}
#tasks-batch-bar{display:none;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;margin-top:20px;margin-bottom:8px;flex-wrap:wrap;}
#tasks-batch-bar.visible{display:flex;}
#tasks-batch-bar .batch-count{font-size:13px;font-weight:600;color:var(--text-1);flex:1;}
/* Drag and drop */
.task-drag{width:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--border-2);transition:color .12s;align-self:stretch;margin-right:2px;}
.task-drag:hover{color:var(--text-3);}
.task-drag:active{cursor:grabbing;}
/* System group drag slot: same footprint as the regular handle so the
   column alignment doesn't jitter, but no grab affordance. */
.task-drag-locked{cursor:default;pointer-events:none;}
.group-system-pill{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:var(--bg-2);border:1px solid var(--border-2);padding:1px 6px;margin-left:6px;font-weight:600;vertical-align:middle;}
/* Deferred badge for a workstream row — same dimensions as the System
   pill so they sit cleanly side by side. Purple tone matches the
   s-deferred status pill. */
.group-deferred-pill{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);background:var(--purple-l);border:1px solid var(--purple-l);padding:1px 6px;margin-left:6px;font-weight:600;vertical-align:middle;}
/* Dynamic badge: marks the synthetic workstreams (Other tasks /
   Entity Workstreams) so the user knows they're rendered rather than
   user-created rows. Same dimensions as System / Deferred. */
.group-dynamic-pill{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:var(--bg-2);border:1px solid var(--border-2);padding:1px 6px;margin-left:6px;font-weight:600;vertical-align:middle;}
/* Task modal: when type=Workstream, hide the non-applicable fields
   (Priority / Assigned / Due / Private) so only Title, Description,
   Status, Initiative / Project, and Parent remain. Lets a Workstream
   be set to Open or Deferred — the only states that make sense for a
   container. */
.tm-group-mode .tm-f-priority,
.tm-group-mode .tm-f-row-assigned-due,
.tm-group-mode .tm-f-private{display:none;}
.task-wrap{position:relative;}
.task-item.drag-over-child{outline:2px solid var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));}
.task-wrap.drag-over-before::before,.task-wrap.drag-over-after::after{content:'';position:absolute;left:0;right:0;height:3px;background:var(--accent);z-index:5;pointer-events:none;}
.task-wrap.drag-over-before::before{top:-2px;}
.task-wrap.drag-over-after::after{bottom:-2px;}
#tasks-drop-top{height:4px;margin-bottom:4px;border-radius:2px;transition:background .1s;}
#tasks-drop-top.drag-over{background:var(--accent);}
.task-wrap.drag-promote{border-left:3px solid var(--accent);padding-left:1px;}

/* ── PIPELINE / STATUS PILLS ── */
.s-pill{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.04em;text-transform:uppercase;}
.s-identified{background:#F3F4F6;color:#6B7280;}
.s-engaged,.s-qualified,.s-approached,.s-contacted{background:#EFF6FF;color:#1D4ED8;}
.s-proposed,.s-negotiating,.s-aligning,.s-in_progress{background:#FFFBEB;color:#D97706;}
.s-active,.s-won,.s-closed_won{background:#F0FDF4;color:#15803D;}
.s-lost,.s-closed_lost{background:#FEF2F2;color:#DC2626;}
.s-concluded{background:#F3F4F6;color:#6B7280;}
.s-open{background:#F3F4F6;color:#6B7280;}
.s-completed{background:#F0FDF4;color:#15803D;}
.s-archived{background:#F3F4F6;color:#6B7280;}
.s-cancelled{background:#F3F4F6;color:#6B7280;}
.s-deferred{background:var(--purple-l);color:var(--purple);}
.s-nearly_completed{background:#FFF7ED;color:#C2410C;}
.task-item.s-open,.task-item.s-in_progress,.task-item.s-nearly_completed{background:var(--task-bg);}
/* Due-today still fills the background; chain a third class so the
   tint wins over the s-* status backgrounds defined just above.
   Overdue moved to a red border instead, so it doesn't need this. */
.task-item.s-open.task-due-today,
.task-item.s-in_progress.task-due-today,
.task-item.s-nearly_completed.task-due-today{background:var(--task-due-today-bg);}
/* Initiative lifecycle pills */
.lc-pill{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.04em;text-transform:uppercase;}
.lc-pill.lc-conception{background:#F5F3FF;color:#6D28D9;}
.lc-pill.lc-definition{background:#EFF6FF;color:#1D4ED8;}
.lc-pill.lc-development{background:#FFFBEB;color:#D97706;}
.lc-pill.lc-implementation{background:#F0FDF4;color:#15803D;}
.lc-pill.lc-scaling{background:#ECFDF5;color:#065F46;}
.lc-pill.lc-renewal{background:#EEF2FF;color:#4338CA;}
.proj-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;}
.proj-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.proj-card.ps-not_started{border-left-color:#9CA3AF;}
.proj-card.ps-started{border-left-color:#3B82F6;}
.proj-card.ps-in_progress{border-left-color:#D97706;}
.proj-card.ps-nearly_completed{border-left-color:#0D9488;}
.proj-card.ps-completed{border-left-color:#15803D;}
.proj-card.ps-deferred{border-left-color:#7C3AED;}
.ps-pill{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.04em;text-transform:uppercase;}
.ps-pill.ps-not_started{background:#F3F4F6;color:#4B5563;}
.ps-pill.ps-started{background:#EFF6FF;color:#1D4ED8;}
.ps-pill.ps-in_progress{background:#FFFBEB;color:#D97706;}
.ps-pill.ps-nearly_completed{background:#F0FDFA;color:#0D9488;}
.ps-pill.ps-completed{background:#F0FDF4;color:#15803D;}
.ps-pill.ps-deferred{background:#F5F3FF;color:#6D28D9;}

/* ── NAV APP SWITCHER ── */
.apps-wrap{position:relative;margin-left:auto;}
.apps-btn{background:none;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.9);font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer;letter-spacing:.03em;transition:background .12s;}
.apps-btn:hover{background:rgba(255,255,255,.12);}
.apps-dd{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:200px;z-index:1000;padding:6px 0;}
.apps-dd.open{display:block;}
.apps-dd-sec{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding:8px 14px 4px;}
.apps-dd-item{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;font-size:13px;color:var(--text-1);text-decoration:none;cursor:default;transition:background .1s;}
a.apps-dd-item{cursor:pointer;}
a.apps-dd-item:hover{background:var(--bg);}
.apps-dd-item.current{background:#5F7D09;color:#fff;cursor:default;}
.apps-dd-item.current:hover{background:#5F7D09;}
.apps-dd-item.disabled{opacity:.4;cursor:not-allowed;}
a.apps-dd-item.disabled{pointer-events:none;}
.apps-dd-sep{height:1px;background:var(--border);margin:4px 0;}

/* ── APP LAUNCHER ── */
.apps-cat-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;}
.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.app-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:20px 22px;cursor:pointer;transition:box-shadow .15s;text-decoration:none;display:block;}
.app-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);}
.app-card-name{font-size:15px;font-weight:600;color:var(--text-1);margin-bottom:5px;}
.app-card-desc{font-size:12px;color:var(--text-2);line-height:1.5;}
.app-card-ver{font-size:11px;color:var(--text-3);margin-top:10px;}
.app-card.disabled{opacity:.4;cursor:default;pointer-events:none;}
.app-card.current{background:var(--bg-2);border-color:var(--border-2);cursor:default;}
.app-card.current .app-card-ver{color:var(--tg-lime-d);font-weight:600;}
.app-card.pres-card{position:relative;padding-right:56px;cursor:default;}
.pres-kebab-wrap{position:absolute;top:14px;right:14px;display:inline-flex;}
.pres-kebab{background:none;border:1px solid transparent;cursor:pointer;width:30px;height:30px;border-radius:6px;color:var(--text-2);font-size:18px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;font-family:inherit;}
.pres-kebab:hover{background:var(--bg-2);border-color:var(--border);color:var(--text-1);}
.pres-kebab-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--surface);border:1px solid var(--border);min-width:180px;z-index:50;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.pres-kebab-menu.open{display:block;}
.pres-kebab-menu button{display:block;width:100%;padding:9px 14px;background:none;border:none;text-align:left;font-size:13px;cursor:pointer;font-family:inherit;color:var(--text-1);}
.pres-kebab-menu button:hover{background:var(--bg-2);}
.pres-kebab-menu .menu-sep{height:1px;background:var(--border);margin:4px 0;}
.pres-public-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--accent-l);color:var(--accent);padding:2px 6px;margin-left:8px;vertical-align:middle;}
.pres-type-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-2);color:var(--text-2);padding:2px 7px;}
.pres-group-heading{font-size:15px;font-weight:600;color:var(--text-1);margin:24px 0 10px;letter-spacing:.02em;}
.pres-group-heading:first-child{margin-top:0;}
.pres-grid-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px;}

/* ── PUBLICATIONS ── */
.pub-card{border-left:4px solid var(--tg-green);}
.pub-status-chip{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;}
.pub-status-concept{background:var(--bg-2);color:var(--text-2);}
.pub-status-draft{background:var(--accent-l);color:var(--tg-green);}
.pub-status-published{background:var(--ok-b);color:var(--ok);}
.pub-status-revision{background:var(--warn-b);color:var(--warn);}
.pub-status-archived{background:var(--bg-2);color:var(--text-3);}
.pub-code-tag{font-size:10px;font-weight:600;letter-spacing:.04em;background:var(--bg-2);color:var(--text-2);padding:2px 7px;}
.pub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.pub-cat-select{border:1px solid var(--border);background:var(--surface);color:var(--text-1);padding:7px 10px;font-size:13px;font-family:inherit;outline:none;max-width:340px;}
.pub-cat-select:focus{border-color:var(--accent);}
.pub-series-group{margin-bottom:16px;}
.pub-series-head{display:flex;align-items:center;gap:10px;background:var(--bg-group);border:1px solid var(--border);border-left:3px solid var(--border-2);padding:8px 14px;cursor:pointer;user-select:none;}
.pub-series-toggle{flex-shrink:0;width:12px;text-align:center;font-size:14px;line-height:1;color:var(--text-3);}
.pub-series-head:hover .pub-series-toggle{color:var(--text-1);}
.pub-series-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);}
.pub-series-count{font-size:11px;font-weight:600;color:var(--text-3);background:var(--surface);border:1px solid var(--border);padding:1px 7px;margin-left:auto;}
.pub-series-list{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.pub-series-group.collapsed .pub-series-list{display:none;}
.pub-series-empty{font-size:13px;color:var(--text-3);padding:10px 2px;}

/* ── KNOWLEDGE BASE ── */
.kb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.kb-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-2);padding:18px 20px;cursor:pointer;transition:box-shadow .15s;}
.kb-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);}
.kb-card.accepted{border-left-color:var(--ok);}
.kb-card.contested{border-left-color:var(--warn);}
.kb-card.rejected{border-left-color:var(--err);opacity:.6;}
.kb-card.unscanned{border-left-color:var(--text-3);}
.kb-card-title{font-size:14px;font-weight:600;color:var(--text-1);margin-bottom:5px;}
.kb-card-desc{font-size:12px;color:var(--text-2);line-height:1.5;margin-bottom:10px;}
.kb-card-meta{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.kb-badge{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;}
.kb-badge.accepted{background:var(--ok-l);color:var(--ok);}
.kb-badge.contested{background:var(--warn-l);color:var(--warn);}
.kb-badge.rejected{background:var(--err-l);color:var(--err);}
.kb-badge.unscanned{background:var(--bg-2);color:var(--text-3);}
.kb-badge.rescan{background:#FEF3C7;color:#92400E;}
.kb-type-badge{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;}
.kb-date{font-size:11px;color:var(--text-3);}
.kb-rep{font-size:13px;color:var(--text-1);line-height:1.75;white-space:pre-wrap;}
.kb-scanning{font-size:13px;color:var(--text-2);font-style:italic;padding:12px 0;}

/* ── DETAIL PANEL ── */
.dp-overlay{position:fixed;inset:0;background:rgba(28,28,30,.4);z-index:200;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .2s;}
.dp-overlay.open{opacity:1;pointer-events:all;}
.dp{width:880px;max-width:92vw;background:var(--surface);height:100%;overflow:hidden;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;}
.dp-preview{width:560px;max-width:42vw;background:var(--bg);height:100%;overflow:hidden;transform:translateX(100%);transition:transform .25s ease;display:none;flex-direction:column;border-right:1px solid var(--border);box-shadow:-2px 0 8px rgba(0,0,0,.04);}
.dp-overlay.open .dp-preview.open{display:flex;transform:translateX(0);}
.dp-preview-head{padding:12px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--surface);flex-shrink:0;gap:10px;}
.dp-preview-title{font-size:14px;font-weight:600;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dp-preview-body{flex:1;overflow-y:auto;padding:18px 22px;font-size:13px;color:var(--text-1);line-height:1.65;}
.dp-preview-body iframe,.dp-preview-body embed{width:100%;height:100%;border:none;}
.dp-preview-empty{font-size:13px;color:var(--text-3);font-style:italic;}
/* Casedesk cases use a 90vw right-side drawer so the left 10vw remains clickable
   to dismiss. LLM calls keep running in the background when the pane is closed. */
.dp:has(.cc-tabs){width:90vw;max-width:90vw;}
.dp-overlay.open .dp{transform:translateX(0);}
.dp-head{padding:14px 24px 14px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;}
.dp-head:has(.dp-badges:empty){padding-bottom:14px;}
.dp-head:has(.dp-badges:empty) .dp-top{margin-bottom:0;}
.dp-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;}
.dp-title{font-size:19px;font-family:var(--font-sans);font-weight:600;color:var(--text-1);line-height:1.3;padding-right:16px;}
.dp-close{background:none;border:none;cursor:pointer;color:var(--text-2);font-size:18px;line-height:1;padding:2px;flex-shrink:0;}.dp-close:hover{color:var(--text-1);}
.dp-kebab{margin-left:auto;display:flex;align-items:center;}.dp-kebab:empty{display:none;}
.dp-back{background:none;border:none;cursor:pointer;color:var(--text-2);font-size:22px;line-height:1;padding:2px 10px 2px 0;flex-shrink:0;}.dp-back:hover{color:var(--text-1);}
.dp-top{align-items:center!important;}
.dp-badges{display:flex;gap:6px;flex-wrap:wrap;}
.dp-sec{margin-bottom:22px;}
.dp-lbl{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;}
.dp-val{font-size:13px;color:var(--text-1);line-height:1.6;}
.dp-val p,.dp-val ul,.dp-val ol,.dp-val li,.dp-val blockquote,.dp-val h1,.dp-val h2,.dp-val h3,
.kb-rep p,.kb-rep ul,.kb-rep ol,.kb-rep li,.kb-rep blockquote,.kb-rep h1,.kb-rep h2,.kb-rep h3{margin:0;padding:0;white-space:normal;}
.dp-val p+p,.dp-val ul+p,.dp-val ol+p,.dp-val blockquote+p,
.kb-rep p+p,.kb-rep ul+p,.kb-rep ol+p,.kb-rep blockquote+p{margin-top:8px;}
.dp-val h1,.kb-rep h1{font-size:1.25em;font-weight:700;margin:10px 0 4px;}
.dp-val h2,.kb-rep h2{font-size:1.1em;font-weight:700;margin:8px 0 3px;}
.dp-val h3,.kb-rep h3{font-size:1em;font-weight:700;margin:6px 0 2px;}
.dp-val h1:first-child,.dp-val h2:first-child,.dp-val h3:first-child,.dp-val p:first-child,
.kb-rep h1:first-child,.kb-rep h2:first-child,.kb-rep h3:first-child,.kb-rep p:first-child{margin-top:0;}
.dp-val ul,.dp-val ol,.kb-rep ul,.kb-rep ol{padding-left:1.4em;margin:4px 0;}
.dp-val blockquote,.kb-rep blockquote{border-left:2px solid var(--border);padding-left:9px;margin:6px 0;color:var(--text-2);}
.dp-val a,.kb-rep a{color:var(--accent);}
.dp-val code,.kb-rep code{background:var(--bg-2,#F3F4F6);padding:1px 4px;font-family:monospace;font-size:.95em;}
.dp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.dp-actions{padding:14px 24px;border-top:1px solid var(--border);display:flex;gap:8px;background:var(--surface);flex-shrink:0;}
.dp-actions:empty{display:none;}
.dp-body{padding:20px 24px;flex:1;overflow-y:auto;}
.dp-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:0 24px;margin:-20px -24px 16px;position:sticky;top:-20px;z-index:5;}
.dp-tab{white-space:nowrap;}
.dp-tab{font-size:11px;font-weight:600;color:var(--text-2);padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.06em;text-transform:uppercase;transition:color .12s;background:none;border-left:none;border-right:none;border-top:none;font-family:inherit;}
.dp-tab:hover{color:var(--text-1);}
.dp-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.dp-tab-content{display:none;}
.dp-tab-content.active{display:block;}
#dp-participants{display:none;padding:4px 24px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:6px;flex-wrap:nowrap;overflow:visible;}
#dp-participants .cc-ptcpt-actions{margin-left:auto;display:flex;gap:6px;flex-shrink:0;align-items:center;}
#dp-participants .s-pill{flex-shrink:0;}
.cc-ptcpt-avail{position:absolute;bottom:-2px;left:-2px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--surface);}
.cc-ptcpt-avail.avail-yes{background:var(--ok);}
.cc-ptcpt-avail.avail-no{background:var(--text-3);}
.dp-row-item{font-size:13px;padding:7px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
/* ── TASK COMMENTS ── */
.tc-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);}
.tc-section-head{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px;}
.tc{display:flex;gap:10px;margin-bottom:16px;}
.tc-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.tc-main{flex:1;min-width:0;}
.tc-meta{font-size:11px;color:var(--text-3);margin-bottom:5px;}
.tc-meta strong{color:var(--text-2);font-weight:600;}
.tc-body{font-size:13px;color:var(--text-1);line-height:1.55;white-space:pre-wrap;word-break:break-word;}
.tc-deleted{font-size:13px;color:var(--text-3);font-style:italic;}
.tc-btns{display:flex;gap:12px;margin-top:5px;}
.tc-btn{background:none;border:none;padding:0;font-size:11px;color:var(--text-3);cursor:pointer;font-family:inherit;font-weight:600;}
.tc-btn:hover{color:var(--accent);}
.tc-btn.del:hover{color:var(--red);}
.tc-replies{border-left:2px solid var(--border);margin-left:14px;padding-left:14px;margin-top:10px;}
.tc-edit-area,.tc-reply-area{width:100%;resize:vertical;min-height:60px;padding:8px 10px;font-size:13px;font-family:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-1);box-sizing:border-box;margin-top:8px;}
.tc-edit-area:focus,.tc-reply-area:focus{outline:none;border-color:var(--accent);}
.tc-form-row{display:flex;justify-content:flex-end;gap:8px;margin-top:6px;}
.tc-new-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);}
.tc-new-area{width:100%;resize:vertical;min-height:72px;padding:10px 12px;font-size:13px;font-family:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-1);box-sizing:border-box;}
.tc-new-area:focus{outline:none;border-color:var(--accent);}
.dp-row-item:last-child{border-bottom:none;}
/* ── PERSON NOTES ── */
.pn-item{display:flex;justify-content:space-between;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--border);}
.pn-item:last-child{border-bottom:none;}
.pn-content{flex:1;min-width:0;}
.pn-text{font-size:12px;color:var(--text-2);line-height:1.55;white-space:pre-wrap;word-break:break-word;}
.pn-meta{font-size:10px;color:var(--text-3);margin-top:3px;}
.pn-del{background:none;border:none;padding:0 0 0 8px;font-size:12px;color:var(--text-3);cursor:pointer;flex-shrink:0;line-height:1;opacity:0;}
.pn-item:hover .pn-del{opacity:1;}
.pn-del:hover{color:var(--red);}
.pn-add{margin-top:10px;}
.pn-add textarea{width:100%;resize:none;min-height:52px;padding:8px 10px;font-size:12px;font-family:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-1);box-sizing:border-box;}
.pn-add textarea:focus{outline:none;border-color:var(--accent);}
.pn-add-row{display:flex;justify-content:flex-end;margin-top:5px;}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:500;opacity:0;pointer-events:none;transition:opacity .15s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
#confirm-modal,#subtask-confirm-modal{z-index:600;}
.modal{background:var(--surface);width:540px;max-width:95vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;}
.modal-head{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--surface);z-index:1;}
.modal-title{font-size:16px;font-family:var(--font-sans);font-weight:600;}
.modal-body{padding:20px 24px;}
.modal-foot{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--surface);}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:5px;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);padding:8px 10px;font-size:13px;font-family:inherit;color:var(--text-1);background:var(--surface);outline:none;transition:border-color .15s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.field textarea{min-height:80px;resize:vertical;line-height:1.6;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field-check{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;}
.field-check input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent);}
.field-check label{font-size:13px;color:var(--text-1);cursor:pointer;}
.pipe-section{border:1px solid var(--border);padding:14px 16px;margin-bottom:14px;background:var(--bg);}
.pipe-section-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;}
/* Relationship type suggestion dropdown in the lead modal */
#lm-rel-suggestions div:hover{background:var(--bg-2);}

/* ── EMPTY ── */
.empty{text-align:center;padding:48px 20px;color:var(--text-3);}
.empty-msg{font-size:13px;}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#C8C6C0;}
::-webkit-scrollbar-thumb:hover{background:#A8A6A0;}
/* ── AI ASSISTANT ── */
.ai-modal .modal{width:600px;max-width:95vw;display:flex;flex-direction:column;max-height:85vh;}
.ai-chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:260px;max-height:420px;}
.ai-msg{max-width:80%;padding:9px 13px;border-radius:0;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
.ai-msg.user{align-self:flex-end;background:var(--accent);color:#fff;}
.ai-msg.assistant{align-self:flex-start;background:var(--bg-2);color:var(--text-1);}
.ai-msg.thinking{align-self:flex-start;background:var(--bg-2);color:var(--text-3);font-style:italic;font-size:12px;}
.ai-input-row{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0;align-items:flex-end;}
.ai-input-row textarea{flex:1;font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:0;background:var(--surface);resize:none;min-height:38px;max-height:120px;overflow-y:auto;line-height:1.4;}
.ai-input-row textarea:focus{outline:none;border-color:var(--accent);}
.ai-confirm-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;}
.ai-person-card{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:12px 14px;}
.ai-person-card .ai-card-name{font-weight:600;font-size:14px;margin-bottom:6px;}
.ai-person-card .ai-card-field{font-size:12px;color:var(--text-2);margin-bottom:2px;}
.ai-person-card .ai-card-field span{color:var(--text-1);}
.ai-org-tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:0;margin-top:5px;font-weight:600;}
.ai-org-tag.existing{background:var(--ok-l);color:var(--ok);}
.ai-org-tag.new-org{background:var(--warn-l);color:var(--warn);}
.ai-new-orgs-section{background:var(--warn-l);border:1px solid var(--warn);border-radius:0;padding:12px 14px;}
.ai-new-orgs-section h4{font-size:13px;font-weight:600;color:var(--warn);margin-bottom:8px;}
.ai-org-confirm-row{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:4px;}
/* ── CHI Counsel ── */
.dp:has(.cc-tabs) .dp-body{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.dp:has(.cc-tabs) #cc-conflict-banner,
.dp:has(.cc-tabs) .cc-stage-bar,
.dp:has(.cc-tabs) .cc-case-desc{flex-shrink:0;padding-left:24px;padding-right:24px;margin-left:0;margin-right:0;}
.dp:has(.cc-tabs) #cc-conflict-banner{padding-top:14px;padding-bottom:7px;margin-bottom:0;}
.dp:has(.cc-tabs) .cc-stage-bar{padding-top:14px;}
.dp:has(.cc-tabs) .cc-case-desc{padding-top:14px;}
.dp:has(.cc-tabs) #cc-conflict-banner+.cc-stage-bar,
.dp:has(.cc-tabs) #cc-conflict-banner+.cc-case-desc,
.dp:has(.cc-tabs) .cc-stage-bar+.cc-case-desc{padding-top:0;}
.dp .cc-tabs{margin:0;padding:0 24px;flex-shrink:0;background:var(--surface);}
.dp .cc-tab-content.active{display:flex;flex-direction:column;overflow:hidden;flex:1;padding:0;}
.dp .cc-thread,.dp .cc-log-body,.dp .cc-sources-body,.dp .cc-conflicts-body,.dp .cc-att-list{flex:1;overflow-y:auto;padding-left:24px;padding-right:24px;}
.dp .cc-input-area,.dp .cc-log-add,.dp .cc-source-add,.dp #cc-att-add,.dp #cc-conflicts-add{flex-shrink:0;padding-left:24px;padding-right:24px;}
.cc-att-toolbar{flex-shrink:0;padding:14px 24px 8px;display:flex;justify-content:flex-end;}
.dp .cc-stage-bar{border-bottom:none;margin-bottom:8px;}
#cc-list-pane{flex:1;overflow-y:auto;padding:28px 32px;}
#cc-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.cc-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid transparent;padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;}
.cc-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.cc-card.cat-enquiry{border-left-color:var(--cc-enquiry);}
.cc-card.cat-challenge{border-left-color:var(--cc-challenge);}
.cc-card.cat-decision{border-left-color:var(--cc-decision);}
.cc-card.cat-activity{border-left-color:var(--cc-activity);}
.cc-card-title{font-size:14px;font-weight:600;color:var(--text-1);line-height:1.3;}
.cc-card-badges{display:flex;gap:6px;flex-wrap:wrap;}
.cc-card-desc{font-size:12px;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cc-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border);margin-top:2px;font-size:11px;color:var(--text-3);}
.cc-case-item{padding:11px 14px;border-bottom:1px solid var(--bg-2);border-left:3px solid transparent;cursor:pointer;transition:background .12s;}
.cc-case-item:hover{background:var(--bg-2);}
.cc-case-item.active{background:var(--bg-2);}
.cc-case-item.cat-enquiry{border-left-color:var(--cc-enquiry);}
.cc-case-item.cat-challenge{border-left-color:var(--cc-challenge);}
.cc-case-item.cat-decision{border-left-color:var(--cc-decision);}
.cc-case-item.cat-activity{border-left-color:var(--cc-activity);}
.cc-item-title{font-size:12px;font-weight:600;color:var(--text-1);margin-bottom:4px;line-height:1.35;}
.cc-item-untitled{font-style:italic;color:var(--text-3);font-weight:400;}
.cc-item-date{font-size:10px;color:var(--text-3);}
.cc-empty{padding:16px 14px;font-size:12px;color:var(--text-3);}
.cc-back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font-family:inherit;font-size:12px;color:var(--text-2);cursor:pointer;padding:0 0 12px;transition:color .12s;}
.cc-back-btn:hover{color:var(--accent);}
.s-pill.cc-enquiry{background:#EBF2FA;color:var(--cc-enquiry);}
.s-pill.cc-challenge{background:#FBF0EB;color:var(--cc-challenge);}
.s-pill.cc-decision{background:#E8F5EE;color:var(--cc-decision);}
.s-pill.cc-activity{background:#F3EEF9;color:var(--cc-activity);}
.s-pill.cc-draft{background:#F3F4F6;color:#6B7280;}
.s-pill.cc-active{background:#F0FDF4;color:#15803D;}
.s-pill.cc-suspended{background:#FEF3C7;color:#D97706;}
.s-pill.cc-resolved{background:#EFF6FF;color:#1D4ED8;}
.s-pill.cc-pending_decision{background:#FEF3C7;color:#D97706;}
.cc-case-header{padding:16px 24px 0;flex-shrink:0;}
.cc-case-title{font-weight:600;font-size:18px;color:var(--text-1);margin-bottom:6px;}
.cc-case-badges{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.cc-case-desc{font-size:13px;color:var(--text-2);line-height:1.6;padding-bottom:12px;border-bottom:1px solid var(--border);}
.cc-stage-bar{padding:6px 0 12px;border-bottom:1px solid var(--border);}
.cc-stage-track{display:flex;gap:2px;margin-bottom:5px;}
.cc-stage-seg{flex:1;height:3px;background:var(--border-2);}
.cc-stage-seg.done{background:var(--accent);}
.cc-stage-seg.current{background:var(--accent);opacity:.55;}
.cc-stage-label{font-size:11px;color:var(--text-3);}
.cc-stage-label strong{color:var(--text-1);font-weight:600;}
.cc-conflict-banner{background:#FDF5EB;border-left:3px solid var(--warn);padding:7px 24px;font-size:12px;color:var(--warn);font-weight:600;flex-shrink:0;}
.cc-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 24px;flex-shrink:0;background:var(--surface);}
.cc-tab{font-size:12px;font-weight:600;color:var(--text-2);padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.03em;text-transform:uppercase;transition:color .12s;}
.cc-tab:hover{color:var(--text-1);}
.cc-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.cc-tab.cc-tab-disabled{color:var(--text-3);opacity:.5;cursor:not-allowed;}
.cc-tab.cc-tab-disabled:hover{color:var(--text-3);}
.cc-tab-content{display:none;flex:1;flex-direction:column;overflow:hidden;}
.cc-tab-content.active{display:flex;}
.cc-thread{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px;}
.cc-msg{display:flex;gap:10px;align-items:flex-start;}
.cc-msg-meta{font-size:11px;color:var(--text-3);}
.cc-msg-del{display:none;background:none;border:none;padding:0 0 0 8px;font-size:11px;color:var(--text-3);cursor:pointer;}
.cc-msg-del:hover{color:var(--red);}
.cc-msg:hover .cc-msg-del{display:inline;}
.cc-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px;line-height:1;}
.cc-avatar-claude{background:var(--ai-claude);}
.cc-avatar-chatgpt{background:var(--ai-chatgpt);}
.cc-avatar-joint{background:linear-gradient(135deg,var(--ai-claude) 50%,var(--ai-chatgpt) 50%);font-size:9px;letter-spacing:.05em;}
.cc-ai-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2);}
.cc-ai-label{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:10px;color:var(--text-3);}
.cc-ai-opt{display:inline-flex;align-items:center;gap:5px;cursor:pointer;user-select:none;}
.cc-ai-opt input{accent-color:var(--accent);cursor:pointer;}
.cc-msg-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.cc-bubble{display:inline-block;max-width:88%;padding:10px 14px;font-size:13px;line-height:1.7;}
.cc-bubble-user{background:var(--app-chi);color:#E8E6E0;white-space:pre-wrap;}
.cc-bubble-ai{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);white-space:pre-wrap;}
.cc-bubble-user p,.cc-bubble-user ul,.cc-bubble-user ol,.cc-bubble-user li,.cc-bubble-user blockquote,.cc-bubble-user h1,.cc-bubble-user h2,.cc-bubble-user h3,
.cc-bubble-ai p,.cc-bubble-ai ul,.cc-bubble-ai ol,.cc-bubble-ai li,.cc-bubble-ai blockquote,.cc-bubble-ai h1,.cc-bubble-ai h2,.cc-bubble-ai h3{white-space:normal;margin:0;padding:0;}
.cc-bubble-user p+p,.cc-bubble-user ul+p,.cc-bubble-user ol+p,.cc-bubble-user blockquote+p,
.cc-bubble-ai p+p,.cc-bubble-ai ul+p,.cc-bubble-ai ol+p,.cc-bubble-ai blockquote+p{margin-top:8px;}
.cc-bubble-user ul,.cc-bubble-user ol,.cc-bubble-ai ul,.cc-bubble-ai ol{padding-left:1.4em;margin:4px 0;}
.cc-bubble-user blockquote,.cc-bubble-ai blockquote{border-left:2px solid currentColor;opacity:.85;padding-left:9px;margin:6px 0;}
.cc-bubble-user a{color:#E8E6E0;text-decoration:underline;}
.cc-bubble-ai a{color:var(--accent);}
.cc-msg-err{background:var(--err-l,#FEF2F2);border:1px solid var(--err,#DC2626);border-left:3px solid var(--err,#DC2626);padding:10px 14px;font-size:12px;color:var(--err,#DC2626);display:flex;align-items:flex-start;gap:8px;line-height:1.55;}
.cc-msg-err svg{flex-shrink:0;margin-top:1px;}
.cc-msg-err .cc-msg-err-body{flex:1;min-width:0;}
.cc-msg-err .cc-msg-err-title{font-weight:600;margin-bottom:2px;}
.cc-msg-err .cc-msg-err-body code{background:rgba(220,38,38,.08);padding:1px 4px;font-family:monospace;font-size:11px;}
.cc-msg-rewind{background:none;border:none;padding:0 0 0 8px;font-size:11px;color:var(--text-3);cursor:pointer;display:none;}
.cc-msg-rewind:hover{color:var(--accent);}
.cc-msg:hover .cc-msg-rewind{display:inline;}
.cc-task-proposals{margin-top:8px;display:flex;flex-direction:column;gap:8px;}
.cc-task-proposal{background:var(--bg);border:1px dashed var(--accent);padding:10px 12px;font-size:12px;}
.cc-task-proposal.done{border-style:solid;opacity:.85;}
.cc-task-proposal.err{border-color:var(--err);color:var(--err);}
.cc-task-proposal-head{font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.cc-task-proposal-title{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:4px;}
.cc-task-proposal-desc{font-size:12px;color:var(--text-2);margin-bottom:4px;line-height:1.45;}
.cc-task-proposal-meta{font-size:11px;color:var(--text-3);margin-bottom:6px;}
.cc-task-proposal-actions{display:flex;gap:6px;}
.cc-bubble-ai.provisional{border-left-color:var(--warn);}
.cm-langs{display:flex;gap:14px;flex-wrap:wrap;padding-top:2px;}
.cm-lang-opt{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--text-1);}
.cm-lang-opt input{cursor:pointer;accent-color:var(--accent);}
/* Globe-icon language switcher (lives in the participants strip) */
.cc-lang-btn{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;border-radius:50%;flex-shrink:0;padding:0;}
.cc-lang-btn:hover{color:var(--text-1);border-color:var(--text-2);}
.cc-lang-btn svg{width:15px;height:15px;display:block;}
.cc-lang-menu{position:fixed;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,.12);min-width:140px;display:none;z-index:9999;}
.cc-lang-menu.open{display:block;}
.cc-lang-menu-item{display:block;width:100%;padding:8px 14px;font-size:12px;text-align:left;background:none;border:none;cursor:pointer;color:var(--text-1);font-family:inherit;}
.cc-lang-menu-item:hover{background:var(--bg);}
.cc-lang-menu-item.active{font-weight:600;color:var(--accent);}
.cc-msg-orig{font-size:10px;font-style:italic;opacity:.6;display:block;margin-top:4px;white-space:normal;}
.cc-msg-toggle{display:block;font-size:11px;font-weight:600;letter-spacing:.02em;margin-top:7px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:normal;}
.cc-bubble-user .cc-msg-toggle{color:rgba(232,230,224,.7);}
.cc-bubble-user .cc-msg-toggle:hover{color:#E8E6E0;}
.cc-bubble-ai .cc-msg-toggle{color:var(--text-3);}
.cc-bubble-ai .cc-msg-toggle:hover{color:var(--text-1);}
.cc-thinking{color:var(--text-2);font-style:italic;font-size:13px;padding:8px 12px;background:var(--surface);border:1px dashed var(--border);display:inline-flex;align-items:center;gap:8px;}
.cc-thinking-dots{display:inline-flex;gap:3px;}
.cc-thinking-dots span{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.4;animation:cc-bounce 1.2s infinite ease-in-out;}
.cc-thinking-dots span:nth-child(2){animation-delay:.2s;}
.cc-thinking-dots span:nth-child(3){animation-delay:.4s;}
@keyframes cc-bounce{0%,80%,100%{transform:scale(.6);opacity:.4;}40%{transform:scale(1);opacity:1;}}
.cc-input-area{border-top:1px solid var(--border);padding:12px 16px;background:var(--surface);flex-shrink:0;display:flex;flex-direction:column;gap:8px;}
.cc-input-row{display:flex;flex-direction:column;gap:6px;}
.cc-input-btns{display:flex;justify-content:flex-end;gap:6px;}
.cc-input{flex:1;border:1px solid var(--border);padding:9px 12px;font-size:13px;font-family:inherit;color:var(--text-1);background:var(--bg);resize:none;min-height:40px;max-height:120px;outline:none;transition:border-color .15s;line-height:1.55;}
.cc-input:focus{border-color:var(--accent);}
.cc-input-quill-wrap{flex:1;border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;}
.cc-input-quill-wrap .ql-toolbar.ql-snow{border:none;border-bottom:1px solid var(--border);padding:4px 8px;background:var(--surface);}
.cc-input-quill-wrap .ql-toolbar.ql-snow .ql-formats{margin-right:6px;}
.cc-input-quill-wrap .ql-container.ql-snow{border:none;font-family:inherit;font-size:13px;color:var(--text-1);background:var(--bg);}
.cc-input-quill-wrap .ql-editor{min-height:60px;max-height:160px;padding:8px 12px;line-height:1.55;overflow-y:auto;}
.cc-input-quill-wrap .ql-editor.ql-blank::before{font-style:italic;color:var(--text-3);font-size:13px;left:12px;right:12px;}
.cc-input-quill-wrap .ql-editor p{margin:0;}
.cc-input-quill-wrap .ql-editor p+p{margin-top:6px;}
.cc-input-hint{font-size:11px;color:var(--text-3);}
.cc-resolved-notice{padding:12px 16px;background:var(--ok-l);border-top:1px solid var(--ok-b,#6EE7B7);font-size:13px;color:var(--ok);text-align:center;flex-shrink:0;}
.cc-log-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px;}
.cc-decision-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);padding:14px 16px;}
.cc-decision-text{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:5px;line-height:1.6;}
.cc-decision-text *{font-family:inherit!important;}
.cc-decision-text p,.cc-decision-text ol,.cc-decision-text ul,.cc-decision-text blockquote,.cc-decision-text h1,.cc-decision-text h2,.cc-decision-text h3{margin:0;padding:0;}
.cc-decision-text p+p,.cc-decision-text ul+p,.cc-decision-text ol+p,.cc-decision-text blockquote+p{margin-top:6px;}
.cc-decision-text h1{font-size:1.25em;font-weight:700;margin:10px 0 4px;}
.cc-decision-text h2{font-size:1.1em;font-weight:700;margin:8px 0 3px;}
.cc-decision-text h3{font-size:1em;font-weight:700;margin:6px 0 2px;}
.cc-decision-text h1:first-child,.cc-decision-text h2:first-child,.cc-decision-text h3:first-child,.cc-decision-text p:first-child{margin-top:0;}
.cc-decision-text ol,.cc-decision-text ul{padding-left:1.5em;margin:4px 0;}
.cc-decision-text blockquote{border-left:2px solid var(--border);padding-left:10px;margin:6px 0;color:var(--text-2);font-weight:500;}
.cc-decision-text a{color:var(--accent);}
.cc-decision-rationale{font-size:12px;color:var(--text-2);line-height:1.6;margin-bottom:8px;}
.cc-decision-rationale *{font-family:inherit!important;}
.cc-decision-rationale p,.cc-decision-rationale ol,.cc-decision-rationale ul,.cc-decision-rationale blockquote{margin:0;padding:0;}
.cc-decision-rationale p+p,.cc-decision-rationale ul+p,.cc-decision-rationale ol+p{margin-top:6px;}
.cc-decision-rationale ol,.cc-decision-rationale ul{padding-left:1.5em;margin:4px 0;}
.cc-decision-rationale blockquote{border-left:2px solid var(--border);padding-left:10px;margin:6px 0;}
.cc-decision-rationale a{color:var(--accent);}
.cc-decision-meta{font-size:11px;color:var(--text-3);}
.cc-log-add{border-top:1px solid var(--border);padding:12px 16px;background:var(--surface);flex-shrink:0;}
.cc-sources-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:10px;}
.cc-source-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-2);padding:12px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.cc-source-card.accepted{border-left-color:var(--ok);}
.cc-source-card.contested{border-left-color:var(--warn);}
.cc-source-card.rejected{border-left-color:var(--err);opacity:.6;}
.cc-source-card.governance{border-left-color:var(--accent);}
.cc-source-info{flex:1;}
.cc-source-title{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cc-source-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;background:#ECEAFA;color:var(--accent);}
.cc-source-desc{font-size:12px;color:var(--text-2);}
.cc-source-add{border-top:1px solid var(--border);padding:12px 16px;background:var(--surface);flex-shrink:0;display:flex;flex-direction:column;gap:10px;}
.csf-form{display:flex;flex-direction:column;gap:6px;}
.csf-input{width:100%;padding:7px 10px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:var(--bg);color:var(--text-1);outline:none;}
.csf-input:focus{border-color:var(--accent);}
.csf-textarea{width:100%;padding:7px 10px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:var(--bg);color:var(--text-1);outline:none;resize:vertical;min-height:60px;}
.csf-textarea:focus{border-color:var(--accent);}
.csf-expanded{display:none;flex-direction:column;gap:6px;}
.csf-row-2{display:flex;gap:6px;}
.csf-row-2 .csf-input{flex:1;}
.csf-footer{display:flex;align-items:center;justify-content:space-between;}
.csf-expand-link{font-size:12px;color:var(--text-2);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.csf-expand-link:hover{color:var(--text-1);}
.cc-source-or{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-3);}
.cc-source-or::before,.cc-source-or::after{content:'';flex:1;height:1px;background:var(--border);}
.csf-link-row{display:flex;gap:8px;align-items:center;}
.cc-participants{display:flex;align-items:center;gap:6px;padding:8px 0 12px;flex-wrap:wrap;}
.cc-ptcpt-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-right:2px;flex-shrink:0;}
.cc-ptcpt{position:relative;display:flex;flex-shrink:0;}
.cc-ptcpt .cc-avatar{width:28px;height:28px;font-size:11px;cursor:default;line-height:28px;}
.cc-ptcpt-owner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:transparent;pointer-events:none;}
.cc-ptcpt-remove{position:absolute;top:-3px;right:-3px;width:13px;height:13px;background:var(--text-2);color:#fff;border:none;border-radius:50%;font-size:9px;line-height:13px;text-align:center;cursor:pointer;display:none;padding:0;font-family:inherit;}
.cc-ptcpt:hover .cc-ptcpt-remove{display:block;}
.cc-conflicts-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:10px;}
.cc-conflict-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warn);padding:12px 16px;display:flex;flex-direction:column;gap:8px;}
.cc-conflict-gge{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;}
.cc-conflict-desc{font-size:13px;color:var(--text-1);line-height:1.5;}
.cc-conflict-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.esc-pill{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;}
.esc-pill.referred{background:var(--bg-2);color:var(--text-3);}
.esc-pill.under_review{background:var(--warn-l);color:var(--warn);}
.esc-pill.approved{background:var(--ok-l);color:var(--ok);}
.esc-pill.upheld{background:#F8EAEA;color:var(--err);}
.cc-actions{padding:10px 24px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;}
.cc-actions-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-right:4px;}
.cc-conclusion-preview{background:var(--bg-2);border:1px solid var(--border);padding:10px 12px;font-size:12px;color:var(--text-2);line-height:1.6;max-height:120px;overflow-y:auto;white-space:pre-wrap;}
.field-check-row{display:flex;align-items:center;gap:8px;padding:3px 0;}
.field-check-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;}
.field-check-row label{font-size:13px;color:var(--text-1);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;}
/* ── CASE ATTACHMENTS ── */
.cc-bubble-empty{padding:0;background:transparent;border:none;}
.cc-att-row{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.cc-bubble-empty + .cc-att-row,.cc-bubble:empty + .cc-att-row{margin-top:0;}
.cc-att-chip{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);max-width:88%;cursor:pointer;transition:border-color .12s,background .12s;}
.cc-att-chip:hover{border-color:var(--text-2);background:var(--bg-2);}
.cc-att-icon{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);font-size:11px;font-weight:700;color:var(--text-2);letter-spacing:.04em;}
.cc-att-body{flex:1;min-width:0;}
.cc-att-title{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-att-meta{font-size:11px;color:var(--text-3);}
.cc-att-preview{font-size:12px;color:var(--text-2);line-height:1.5;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cc-att-alt{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;background:var(--bg-2);color:var(--text-3);margin-left:6px;}
.cc-att-action{flex-shrink:0;background:none;border:none;font-size:11px;color:var(--text-3);cursor:pointer;padding:0 0 0 6px;display:none;font-family:inherit;}
.cc-att-chip:hover .cc-att-action,.cc-att-list-item:hover .cc-att-action{display:inline;}
.cc-att-action:hover{color:var(--accent);}
.cc-att-action.danger:hover{color:var(--red);}
/* Attach modal */
.attach-tabs{display:flex;border-bottom:1px solid var(--border);margin:0 0 14px;}
.attach-tab{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit;background:none;border-left:none;border-right:none;border-top:none;}
.attach-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.attach-pane{display:none;}
.attach-pane.active{display:flex;flex-direction:column;gap:10px;}
.attach-file-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg-2);border:1px solid var(--border);font-size:12px;}
.attach-file-name{flex:1;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.attach-file-x{background:none;border:none;font-size:14px;color:var(--text-3);cursor:pointer;padding:0;line-height:1;}
.attach-file-x:hover{color:var(--red);}
.att-paste-hint{font-size:11px;color:var(--text-3);margin:-4px 0 0;line-height:1.5;}
#attach-modal.drag-over .modal{outline:2px dashed var(--accent);outline-offset:-4px;}
.ql-toolbar.ql-snow{border-radius:0!important;border-color:var(--border)!important;background:var(--bg-2);font-family:'Source Sans Pro',system-ui,sans-serif!important;padding:6px 8px!important;position:sticky;top:0;z-index:5;}
.ql-container.ql-snow{border-radius:0!important;border-color:var(--border)!important;font-family:inherit!important;font-size:13px!important;}
.ql-snow .ql-editor{min-height:180px;line-height:1.65;padding:12px 14px;color:var(--text-1);}
.ql-snow .ql-editor.ql-blank::before{font-style:italic;color:var(--text-3);}
.ql-snow .ql-editor h1{font-size:1.7em;font-weight:600;margin:18px 0 8px;line-height:1.15;}
.ql-snow .ql-editor h2{font-size:1.35em;font-weight:600;margin:16px 0 6px;line-height:1.18;}
.ql-snow .ql-editor h3{font-size:1.1em;font-weight:600;margin:14px 0 5px;line-height:1.22;}
.ql-snow .ql-editor h1:first-child,.ql-snow .ql-editor h2:first-child,.ql-snow .ql-editor h3:first-child{margin-top:0;}
.ql-snow .ql-editor ol,.ql-snow .ql-editor ul{padding-left:1.5em;}
.ql-snow .ql-editor li::marker{font-size:1.3em;}
.ql-snow .ql-editor ul>li::before,.ql-snow .ql-editor ol>li[data-list="bullet"]::before{font-size:1.4em;line-height:1;}
.ql-snow .ql-editor blockquote{border-left:3px solid var(--border);padding-left:14px;margin:10px 0;color:var(--text-2);}
.ql-snow .ql-editor a{color:var(--accent);}
.ql-snow .ql-picker{font-family:inherit!important;font-size:12px!important;}
.ql-snow .ql-picker-options{border-radius:0!important;border-color:var(--border)!important;}
.ql-snow .ql-tooltip{border-radius:0!important;border-color:var(--border)!important;font-family:inherit!important;font-size:12px!important;box-shadow:0 2px 6px rgba(0,0,0,.08);}
.ql-snow .ql-stroke{stroke:var(--text-2);}
.ql-snow .ql-fill{fill:var(--text-2);}
.ql-snow .ql-picker-label{color:var(--text-2);}
.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke{stroke:var(--accent);}
.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill{fill:var(--accent);}
.ql-snow.ql-toolbar button:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active{color:var(--accent)!important;}
/* Viewer modal */
.att-viewer-meta{font-size:12px;color:var(--text-3);margin:-6px 0 14px;}
.att-viewer-body{border:1px solid var(--border);padding:18px 20px;background:var(--bg);font-family:'Source Sans Pro',system-ui,sans-serif;font-size:13px;line-height:1.65;color:var(--text-1);max-height:60vh;overflow-y:auto;}
.att-viewer-body *{font-family:inherit!important;}
.att-viewer-body p,.att-viewer-body ol,.att-viewer-body ul,.att-viewer-body blockquote,.att-viewer-body h1,.att-viewer-body h2,.att-viewer-body h3,.att-viewer-body h4,.att-viewer-body h5,.att-viewer-body h6{margin:0;padding:0;}
.att-viewer-body p+p,.att-viewer-body ul+p,.att-viewer-body ol+p,.att-viewer-body blockquote+p{margin-top:10px;}
.att-viewer-body h1{font-size:1.7em;font-weight:600;margin:18px 0 8px;line-height:1.15;}
.att-viewer-body h2{font-size:1.35em;font-weight:600;margin:16px 0 6px;line-height:1.18;}
.att-viewer-body h3{font-size:1.1em;font-weight:600;margin:14px 0 5px;line-height:1.22;}
.att-viewer-body h1:first-child,.att-viewer-body h2:first-child,.att-viewer-body h3:first-child{margin-top:0;}
.att-viewer-body ol,.att-viewer-body ul{padding-left:1.5em;margin:6px 0;}
.att-viewer-body li::marker{font-size:1.3em;}
.att-viewer-body blockquote{border-left:3px solid var(--border);padding-left:14px;margin:10px 0;color:var(--text-2);}
.att-viewer-body strong{font-weight:600;}
.att-viewer-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
.att-viewer-downloads{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
/* Attachments tab list */
.cc-att-list{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:8px;}
.cc-att-list-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);padding:11px 14px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;transition:border-color .12s;}
.cc-att-list-item:hover{border-color:var(--text-2);}
.cc-att-list-empty{font-size:13px;color:var(--text-3);padding:4px 0;}
/* ── DOCUMENT SELECTOR ── */
.docsel-search{width:100%;padding:9px 12px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:var(--bg);color:var(--text-1);outline:none;}
.docsel-search:focus{border-color:var(--accent);}
.docsel-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 6px;}
.docsel-filter-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-right:2px;}
.docsel-chip{font-size:11px;padding:3px 9px;border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;font-family:inherit;transition:all .12s;border-radius:0;}
.docsel-chip:hover{border-color:var(--text-2);color:var(--text-1);}
.docsel-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.docsel-list{max-height:46vh;overflow-y:auto;border:1px solid var(--border);}
.docsel-row{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;}
.docsel-row:last-child{border-bottom:none;}
.docsel-row:hover,.docsel-row.kb-active{background:var(--bg-2);}
.docsel-row.selected{background:#EEF2F7;}
.docsel-row input[type=checkbox],.docsel-row input[type=radio]{margin-top:2px;flex-shrink:0;accent-color:var(--accent);}
.docsel-row-body{flex:1;min-width:0;}
.docsel-row-title{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.docsel-row-meta{font-size:11px;color:var(--text-3);display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.docsel-row-desc{font-size:12px;color:var(--text-2);line-height:1.45;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.docsel-empty{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-3);}
.docsel-empty-actions{margin-top:12px;display:flex;gap:8px;justify-content:center;}
.docsel-mini-add{margin-top:12px;padding:12px;background:var(--bg-2);border:1px solid var(--border);display:none;flex-direction:column;gap:8px;}
.docsel-mini-add.open{display:flex;}
.docsel-mini-add input,.docsel-mini-add textarea,.docsel-mini-add select{padding:7px 10px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:var(--bg);color:var(--text-1);outline:none;}
.docsel-mini-add input:focus,.docsel-mini-add textarea:focus,.docsel-mini-add select:focus{border-color:var(--accent);}
.docsel-mini-add textarea{resize:vertical;min-height:48px;}
.docsel-mini-actions{display:flex;justify-content:flex-end;gap:6px;}
.docsel-count{font-size:12px;color:var(--text-2);margin-right:auto;}
/* ── TAGS ── */
.tag-pill{display:inline-flex;align-items:center;gap:2px;background:var(--bg-2);color:var(--text-2);border:1px solid var(--border-2);border-radius:0;padding:1px 8px;font-size:11px;font-weight:500;line-height:1.6;white-space:nowrap;}
.tag-pill .tag-x{cursor:pointer;opacity:.5;font-size:10px;margin-left:1px;line-height:1;}
.tag-pill .tag-x:hover{opacity:1;}
.tag-edit-wrap{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border:1px solid var(--border);border-radius:0;padding:4px 6px;background:var(--surface);min-height:34px;cursor:text;position:relative;}
.tag-edit-wrap input{border:none;outline:none;font-size:12px;font-family:inherit;color:var(--text-1);background:transparent;min-width:80px;flex:1;padding:2px 0;}
.tag-suggest{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:0;box-shadow:0 4px 12px rgba(0,0,0,.1);max-height:160px;overflow-y:auto;}
.tag-suggest-item{padding:6px 10px;font-size:12px;cursor:pointer;color:var(--text-1);}
.tag-suggest-item:hover{background:var(--bg-2);}
.tag-suggest-item.create-new{color:var(--accent);font-style:italic;}
.lead-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px;}
/* ── USERS MODULE ── */
.data-table{width:100%;border-collapse:collapse;}
.data-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);padding:8px 12px;text-align:left;border-bottom:2px solid var(--border);}
.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px;}
.data-table tbody tr:hover{background:var(--bg-2);}
.data-table td:last-child,.data-table th:last-child{text-align:right;white-space:nowrap;}
.u-name{font-weight:600;color:var(--text-1);}
.u-title{font-size:11px;color:var(--text-3);margin-top:1px;}
.u-status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;letter-spacing:.03em;}
.u-status.active{background:var(--ok-l);color:var(--ok);}
.u-status.inactive{background:var(--err-l);color:var(--err);}
.invite-url-wrap{display:flex;gap:8px;align-items:center;margin-top:10px;}
.invite-url-wrap input{flex:1;padding:8px 10px;border:1px solid var(--border);font-size:12px;font-family:monospace;background:var(--bg);color:var(--text-1);outline:none;}
.invite-result-note{font-size:12px;color:var(--text-2);line-height:1.6;margin-bottom:4px;}

/* Hide the locale-specific placeholder (dd.mm.åååå etc.) on empty date inputs.
   Toggled via the data-empty attribute set by JS. Visible on focus so the user
   can pick / type. The calendar picker icon is unaffected by `color`. */
input[type="date"][data-empty]:not(:focus){color:transparent;}

/* Edit Deck modal */
.modal-wide{max-width:980px;width:92vw;}
.ed-body{max-height:72vh;overflow-y:auto;}
.ed-loading{padding:32px;color:var(--text-2);text-align:center;font-size:13px;}
.ed-toolbar{display:flex;gap:6px;margin-bottom:12px;align-items:center;}
.ed-lang-pill{padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-family:inherit;letter-spacing:.02em;}
.ed-lang-pill.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.ed-status{margin-right:auto;color:var(--text-3);font-size:12px;}
.ed-status.dirty{color:var(--accent);}
.ed-status.saved{color:var(--text-2);}
.ed-status.error{color:var(--red);}
.ed-slide{margin-bottom:18px;border:1px solid var(--border);background:var(--surface);}
.ed-slide-head{padding:9px 14px;background:var(--bg-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-1);border-bottom:1px solid var(--border);}
.ed-slide-body{padding:14px;display:flex;flex-direction:column;gap:12px;}
.ed-field{display:flex;flex-direction:column;gap:4px;}
.ed-field-label{font-size:10px;font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--text-3);letter-spacing:.04em;}
.ed-field textarea{font-family:inherit;font-size:13px;line-height:1.5;padding:7px 10px;border:1px solid var(--border);background:var(--bg);color:var(--text-1);resize:vertical;min-height:32px;outline:none;}
.ed-field textarea:focus{border-color:var(--accent);}
.ed-field textarea.modified{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg));}
.ed-tokens{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ed-token{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);background:var(--surface);}
.ed-token.modified{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface));}
.ed-token-name{flex:1;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:var(--text-2);}
.ed-token input[type="color"]{width:30px;height:24px;padding:0;border:1px solid var(--border);cursor:pointer;background:none;}
.ed-token input[type="text"]{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;width:140px;padding:4px 7px;border:1px solid var(--border);background:var(--bg);color:var(--text-1);outline:none;}
.ed-token input[type="text"]:focus{border-color:var(--accent);}
.ed-design-note{margin-top:14px;font-size:12px;color:var(--text-3);line-height:1.5;}

/* `.btn-secondary` is declared in tg-design-system.css but its border is
   overridden by index.css's `.btn { border: none }` (equal specificity,
   later wins). Re-declare here so secondary buttons render with the
   intended outline rather than as borderless text. */
.btn-secondary{border:1px solid var(--border);}
.btn-secondary:hover{border-color:var(--text-2);}

/* ── Searchable picker (Add Team Member etc.) ── */
.picker-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:13px;font-family:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-1);outline:none;}
.picker-search:focus{border-color:var(--accent);}
.picker-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-top:none;background:var(--surface);}
.picker-row{padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;}
.picker-row:last-child{border-bottom:none;}
.picker-row:hover{background:var(--bg-2);}
.picker-row.selected{background:var(--bg-2);border-left:3px solid var(--accent);padding-left:9px;}
.picker-row-name{font-size:13px;color:var(--text-1);}
.picker-row-meta{font-size:11px;color:var(--text-3);margin-top:2px;}
.picker-empty{padding:12px;color:var(--text-3);font-size:12px;text-align:center;}

/* ── Team cards (Teams view) ── */
.team-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;}
.team-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}

/* ── Team member cards (per-team view) ── */
.team-member-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:14px 16px;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px;position:relative;}
.team-member-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);}
.team-member-card.ended{border-left-color:var(--text-3);opacity:.65;}

/* Hide the locale-specific date format hint (e.g. "dd.mm.åååå") when the
   date input is empty and unfocused. Scoped to the Team Member modal so
   other date inputs elsewhere keep their native placeholders. */
#team-member-modal input[type="date"]:not(:focus):not(.has-value)::-webkit-datetime-edit{color:transparent;}
