/* Extracted from index.html <style> blocks (main app + redesign). No build step — linked from index.html. */
@font-face{font-family:'Brothers';src:url('/fonts/BrothersOT-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Interstate';src:url('/fonts/Interstate-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Interstate';src:url('/fonts/Interstate-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root{--bg:#1E1B1C;--bg2:#262324;--bg3:#2E2A2B;--bg4:#383334;--border:#3A3536;--border2:#4A4445;--text:#F2F2F2;--text2:#B0AEA9;--text3:#7A7876;--accent:#D15420;--accent2:#E8621F;--accent-rgb:209,84,32;--blue:#7C9AFF;--amber:#FBBF24;--red:#F2726F;--purple:#a78bfa;--teal:#2dd4bf;--mono:'IBM Plex Mono',monospace;--sans:'Interstate',Arial,sans-serif;--r:4px;--rl:8px}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:var(--sans);background:var(--bg);color:var(--text);font-size:14px}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}
.hidden{display:none!important}
a{color:inherit;text-decoration:none}

/* ── AUTH ─────────────────────────────────────────────────────── */
#auth-screen{display:flex;align-items:center;justify-content:center;height:100vh}
.auth-box{width:460px;padding:40px;border:1px solid var(--border2);border-radius:var(--rl);background:var(--bg2)}
.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px}
.auth-mark{width:32px;height:32px;border-radius:6px;background:var(--accent);display:flex;align-items:center;justify-content:center}
.auth-mark svg{width:16px;height:16px}
.auth-title{font-size:16px;font-weight:600;letter-spacing:-.02em}
.auth-sub{font-size:12px;color:var(--text2);margin-top:1px}
.auth-box h2{font-size:20px;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}
.auth-box p{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:20px}
.auth-steps{background:var(--bg3);border-radius:var(--r);padding:14px 16px;margin-bottom:20px}
.auth-step{display:flex;gap:10px;margin-bottom:10px;font-size:12px;color:var(--text2);align-items:flex-start}
.auth-step:last-child{margin-bottom:0}
.auth-step-n{width:18px;height:18px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--accent);flex-shrink:0;font-family:var(--mono);margin-top:1px}
.auth-step a{color:var(--accent);text-decoration:none}
.auth-step a:hover{text-decoration:underline}
.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.auth-field{margin-bottom:10px}
.auth-field label{display:block;font-size:10px;color:var(--text3);margin-bottom:5px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}
.auth-field input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:9px 12px;color:var(--text);font-family:var(--mono);font-size:12px;outline:none}
.auth-field input:focus{border-color:var(--accent)}
.auth-field input::placeholder{color:var(--text3)}
.auth-btn{width:100%;padding:11px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--sans);margin-top:8px}
.auth-btn:hover{background:var(--accent2)}
.auth-btn:disabled{opacity:.5;cursor:not-allowed}
.auth-error{font-size:12px;color:var(--red);margin-top:8px;display:none;font-family:var(--mono)}
.auth-note{font-size:11px;color:var(--text3);margin-top:14px;text-align:center;line-height:1.5}

/* ── SETUP OVERLAY ───────────────────────────────────────────── */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:1000;align-items:center;justify-content:center}
.overlay.open{display:flex}
.setup-box{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);width:500px;padding:32px}
.setup-box h3{font-size:15px;font-weight:600;margin-bottom:8px}
.setup-box p{font-size:13px;color:var(--text2);margin-bottom:16px;line-height:1.6}
.progress-bar{height:3px;background:var(--bg4);border-radius:2px;overflow:hidden;margin-bottom:6px}
.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s}
.progress-label{font-size:11px;color:var(--text3);font-family:var(--mono)}
.setup-log{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:12px;font-family:var(--mono);font-size:11px;color:var(--text2);max-height:200px;overflow-y:auto;margin-top:12px;line-height:1.9}
.setup-log .ok{color:var(--accent)}.setup-log .err{color:var(--red)}.setup-log .info{color:var(--blue)}

/* ── APP SHELL ───────────────────────────────────────────────── */
#app{display:none;height:100vh;flex-direction:column}
.topnav{height:48px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;flex-shrink:0;background:var(--bg);z-index:40;position:relative}
.tn-logo{display:flex;align-items:center;gap:8px;margin-right:20px;cursor:pointer}
.tn-mark{width:22px;height:22px;background:var(--accent);border-radius:4px;display:flex;align-items:center;justify-content:center}
.tn-mark svg{width:12px;height:12px}
.tn-name{font-size:13px;font-weight:600;letter-spacing:-.02em}
.tn-div{width:1px;height:16px;background:var(--border);margin:0 12px}
.nav-tab{padding:0 12px;height:48px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s;white-space:nowrap}
.nav-tab:hover{color:var(--text)}
.nav-tab.active{color:var(--text);border-bottom-color:var(--accent)}
.nav-tab svg{width:13px;height:13px;flex-shrink:0}
.tn-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.sync-status{font-size:11px;font-family:var(--mono);color:var(--text3);display:flex;align-items:center;gap:6px}
.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.sync-dot.syncing{background:var(--amber);animation:pulse 1s infinite}
.sync-dot.err{background:var(--red)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.tn-btn{font-size:11px;padding:5px 10px;border:1px solid var(--border2);border-radius:var(--r);background:transparent;color:var(--text2);cursor:pointer;font-family:var(--sans)}
.tn-btn:hover{color:var(--text);border-color:var(--text3)}

/* ── PAGES ───────────────────────────────────────────────────── */
.page{display:none;position:fixed;top:48px;left:0;right:0;bottom:0;overflow-y:auto;background:var(--bg);z-index:30}
.page.active{display:block}
.page:not(.active){display:none!important;visibility:hidden!important;pointer-events:none!important}
#page-ticket.active{display:flex;flex-direction:column}
.page.active{display:block}
.app-body{display:flex;flex:1;overflow:hidden}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}

/* ── SECTION (list views) ────────────────────────────────────── */
.sec{display:none;flex-direction:column;flex:1;overflow:hidden}
.sec.active{display:flex}
.sec-head{padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.sec-head h2{font-size:15px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.sec-body{flex:1;overflow-y:auto;padding:20px 24px}

/* ── TICKET FULL PAGE ────────────────────────────────────────── */
#page-ticket{background:var(--bg);overflow-y:auto}
.ticket-page-wrap{max-width:900px;margin:0 auto;padding:32px 24px}
.tp-breadcrumb{font-size:12px;color:var(--text3);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.tp-breadcrumb span{cursor:pointer;color:var(--text2)}
.tp-breadcrumb span:hover{color:var(--accent)}
.tp-breadcrumb .sep{color:var(--text3)}
.tp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.tp-header-left{flex:1;min-width:0}
.tp-id{font-family:var(--mono);font-size:11px;color:var(--text3);margin-bottom:6px;letter-spacing:.06em}
.tp-title{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.3;word-break:break-word}
.tp-badges{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.tp-body{display:grid;grid-template-columns:1fr 280px;gap:24px}
.tp-main{min-width:0}
.tp-sidebar{display:flex;flex-direction:column;gap:16px}
.tp-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:16px}
.tp-card h4{font-size:10px;color:var(--text3);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.tp-meta-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}
.tp-meta-row:last-child{border-bottom:none}
.tp-meta-label{color:var(--text3)}
.tp-meta-val{color:var(--text);font-weight:500;text-align:right}
.tp-desc{font-size:13px;color:var(--text2);line-height:1.8;white-space:pre-wrap;margin-bottom:20px}
.tp-section-title{font-size:11px;color:var(--text3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}

/* software tags */
.sw-tags{display:flex;flex-wrap:wrap;gap:6px}
.sw-tag{font-size:11px;padding:3px 9px;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.2);border-radius:20px;color:var(--blue);font-family:var(--mono)}

/* child tickets */
.child-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;cursor:pointer;font-size:12px;transition:border-color .15s}
.child-row:hover{border-color:var(--border2)}
.child-id{font-family:var(--mono);font-size:10px;color:var(--text3);flex-shrink:0}
.child-title{flex:1;color:var(--text)}
.child-indent{padding-left:20px;border-left:2px solid var(--border);margin-left:8px;margin-top:6px}

/* update feed */
.update-feed{display:flex;flex-direction:column;gap:0}
.update-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.update-item:last-child{border-bottom:none}
.update-dot-col{display:flex;flex-direction:column;align-items:center;padding-top:3px}
.update-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.update-dot.note{background:var(--blue)}
.update-dot.status{background:var(--amber)}
.update-dot.created{background:var(--accent)}
.update-dot.kb{background:var(--teal)}
.update-line{width:1px;background:var(--border);flex:1;margin-top:6px}
.update-content{flex:1;min-width:0}
.update-text{font-size:13px;color:var(--text2);line-height:1.6}
.update-time{font-size:10px;color:var(--text3);font-family:var(--mono);margin-top:3px}

/* update composer */
.update-composer{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px;margin-top:16px}
.update-composer textarea{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;color:var(--text);font-size:13px;font-family:var(--sans);resize:vertical;min-height:80px;outline:none;line-height:1.6}
.update-composer textarea:focus{border-color:var(--border2)}
.update-composer-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}

/* ── KB FULL PAGE ────────────────────────────────────────────── */
#page-kb-article{background:var(--bg);overflow-y:auto}
.kb-page-wrap{max-width:860px;margin:0 auto;padding:32px 24px}
.kb-breadcrumb{font-size:12px;color:var(--text3);margin-bottom:20px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kb-breadcrumb span{cursor:pointer;color:var(--text2)}
.kb-breadcrumb span:hover{color:var(--accent)}
.kb-page-header{margin-bottom:28px}
.kb-page-id{font-family:var(--mono);font-size:11px;color:var(--teal);margin-bottom:6px}
.kb-page-title{font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.3;margin-bottom:12px}
.kb-page-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text3)}
.kb-page-body{display:grid;grid-template-columns:1fr 240px;gap:32px}
.kb-article-content{min-width:0}
.kb-sidebar-panel{display:flex;flex-direction:column;gap:14px}
.kb-body-text{font-size:14px;color:var(--text2);line-height:1.9}
.kb-body-text h1,.kb-body-text h2,.kb-body-text h3{color:var(--text);font-weight:600;margin:20px 0 10px}
.kb-body-text h1{font-size:18px}.kb-body-text h2{font-size:15px}.kb-body-text h3{font-size:13px}
.kb-body-text p{margin-bottom:12px}
.kb-body-text ul,.kb-body-text ol{padding-left:22px;margin-bottom:12px}
.kb-body-text li{margin-bottom:5px}
.kb-body-text code{background:var(--bg3);border:1px solid var(--border);padding:1px 6px;border-radius:3px;font-family:var(--mono);font-size:12px;color:var(--teal)}
.kb-body-text pre{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--teal);padding:14px;border-radius:var(--r);margin-bottom:14px;overflow-x:auto}
.kb-body-text pre code{background:none;border:none;padding:0;font-size:12px;color:var(--teal)}
.kb-body-text blockquote{border-left:3px solid var(--accent);padding-left:14px;color:var(--text3);margin-bottom:12px}
.kb-body-text strong{color:var(--text);font-weight:600}
.kb-body-text hr{border:none;border-top:1px solid var(--border);margin:16px 0}
.kb-body-text a{color:var(--blue);text-decoration:underline}
.kb-body-text a[data-kb]{color:var(--teal);text-decoration:none;border-bottom:1px dashed var(--teal);cursor:pointer}
.kb-body-text a[data-kb]:hover{border-bottom-style:solid}
.kb-toc{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px}
.kb-toc h5{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.kb-toc-item{font-size:12px;color:var(--text2);padding:4px 0;cursor:pointer;display:block}
.kb-toc-item:hover{color:var(--accent)}
.kb-toc-item.h3{padding-left:12px;font-size:11px}
.kb-related{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px}
.kb-related h5{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.kb-related-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);cursor:pointer;font-size:12px}
.kb-related-item:last-child{border-bottom:none}
.kb-related-item:hover .kb-related-title{color:var(--accent)}
.kb-related-num{font-family:var(--mono);font-size:10px;color:var(--teal);flex-shrink:0}
.kb-related-title{color:var(--text2)}
.kb-children-list{display:flex;flex-direction:column;gap:6px;margin-top:20px}
.kb-child-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;cursor:pointer;transition:border-color .15s}
.kb-child-card:hover{border-color:var(--accent)}
.kb-child-card-num{font-family:var(--mono);font-size:10px;color:var(--teal);margin-bottom:3px}
.kb-child-card-title{font-size:13px;font-weight:500;color:var(--text)}
.kb-child-card-desc{font-size:11px;color:var(--text3);margin-top:3px}

/* ── KB LIST VIEW ────────────────────────────────────────────── */
.kb-cat-section{margin-bottom:28px}
.kb-cat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;margin-bottom:0;transition:border-color .15s}
.kb-cat-header:hover{border-color:var(--border2)}
.kb-cat-header.open{border-radius:var(--r) var(--r) 0 0;border-bottom:none}
.kb-cat-name{font-size:13px;font-weight:500}
.kb-cat-count{font-size:11px;color:var(--text3);font-family:var(--mono)}
.kb-cat-arrow{font-size:10px;color:var(--text3);transition:transform .2s}
.kb-cat-header.open .kb-cat-arrow{transform:rotate(90deg)}
.kb-cat-items{display:none;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);overflow:hidden}
.kb-cat-items.open{display:block}
.kb-list-row{display:grid;grid-template-columns:56px 1fr 80px 60px;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;align-items:center;transition:background .1s;font-size:13px}
.kb-list-row:last-child{border-bottom:none}
.kb-list-row:hover{background:var(--bg3)}
.kb-parent-row{background:var(--bg3);font-weight:500}
.kb-parent-row:hover{background:var(--bg4)}
.kb-child-list-row{padding-left:28px;font-size:12px}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r);font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:var(--sans);transition:all .15s}
.btn-p{background:var(--accent);color:#fff}.btn-p:hover{background:var(--accent2)}
.btn-s{background:var(--bg3);color:var(--text);border:1px solid var(--border2)}.btn-s:hover{background:var(--bg4)}
.btn-g{background:transparent;color:var(--text2);border:1px solid var(--border)}.btn-g:hover{color:var(--text);border-color:var(--border2);background:var(--bg3)}
.btn-d{background:transparent;color:var(--red);border:1px solid #3a1a1a}.btn-d:hover{background:#1a0a0a}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn-sm{padding:4px 10px;font-size:11px}

/* ── BADGES ─────────────────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:2px 7px;border-radius:3px;letter-spacing:.03em;font-family:var(--mono)}
.b-open{background:#0f2744;color:var(--blue)}.b-prog{background:#2a1f00;color:var(--amber)}.b-closed{background:var(--bg3);color:var(--text3)} .b-wait{background:#2a1200;color:#fb923c} .b-vendor{background:#1f1140;color:#a78bfa} .b-resolved{background:#0d2010;color:#22C55E}
.b-high{background:#2a0f0f;color:var(--red)}.b-med{background:#2a1f00;color:var(--amber)}.b-low{background:var(--bg3);color:var(--text3)}
.b-mac{background:#1a0f2a;color:var(--purple)}.b-win{background:#0f2744;color:var(--blue)}.b-oth{background:var(--bg3);color:var(--text2)}
.b-kb{background:#0a1f1a;color:var(--teal);font-size:10px}

/* ── STATS ───────────────────────────────────────────────────── */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:16px;cursor:pointer;transition:border-color .15s}
.stat-card:hover{border-color:var(--border2)}
.stat-card .sv{font-size:28px;font-weight:600;font-family:var(--mono);letter-spacing:-.04em}
.stat-card .sl{font-size:11px;color:var(--text3);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}

/* ── SEARCH ──────────────────────────────────────────────────── */
.search-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.si{flex:1;min-width:180px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:8px 12px;color:var(--text);font-size:12px;font-family:var(--sans);outline:none}
.si:focus{border-color:var(--border2)}.si::placeholder{color:var(--text3)}
.ss{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:7px 10px;color:var(--text2);font-size:12px;font-family:var(--sans);outline:none;cursor:pointer}
.rc{font-size:11px;color:var(--text3);margin-bottom:10px;font-family:var(--mono)}

/* ── TABLE ───────────────────────────────────────────────────── */
.dtable{border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;background:var(--bg2)}
.th{display:grid;padding:9px 16px;font-size:10px;color:var(--text3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--bg)}
.tr{display:grid;padding:11px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;align-items:center}
.tr:last-child{border-bottom:none}.tr:hover{background:var(--bg3)}
.g-t{grid-template-columns:64px 1fr 100px 58px 110px 80px;gap:12px}
.g-a{grid-template-columns:1fr 80px 120px 80px 70px;gap:12px}
.cp{font-size:13px;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs{font-size:11px;color:var(--text2)}
.cm{font-family:var(--mono);font-size:11px;color:var(--text2)}
.ci{font-family:var(--mono);font-size:11px;color:var(--text3)}
.empty{padding:48px 24px;text-align:center;color:var(--text3);font-size:13px}
.loading-row{padding:24px;text-align:center;color:var(--text3);font-size:12px;font-family:var(--mono)}

/* ── MODAL ───────────────────────────────────────────────────── */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;align-items:flex-start;justify-content:center;padding-top:60px;overflow-y:auto}
.modal-bg.open{display:flex}
.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);width:580px;max-height:calc(100vh - 100px);overflow-y:auto;padding:28px;margin-bottom:20px}
.modal.wide{width:680px}
.modal.xl{width:800px}
.modal h3{font-size:15px;font-weight:600;margin-bottom:20px;letter-spacing:-.02em}
.field{margin-bottom:14px}
.field label{display:block;font-size:10px;color:var(--text3);margin-bottom:6px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:9px 12px;color:var(--text);font-size:13px;font-family:var(--sans);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--border2)}
.field input::placeholder,.field textarea::placeholder{color:var(--text3)}
.field textarea{resize:vertical;min-height:80px;line-height:1.6}
.field .hint{font-size:11px;color:var(--text3);margin-top:5px;font-family:var(--mono)}
.mfooter{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--border);margin-top:20px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* ── DROPDOWN SEARCH ─────────────────────────────────────────── */
.dw{position:relative}
.ddlist{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r);z-index:300;max-height:220px;overflow-y:auto;margin-top:2px;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.ddlist.open{display:block}
.ddi{padding:9px 12px;font-size:12px;cursor:pointer;color:var(--text);border-bottom:1px solid var(--border)}
.ddi:last-child{border-bottom:none}.ddi:hover{background:var(--bg3)}
.ddi .sub{font-size:10px;color:var(--text3);font-family:var(--mono);margin-top:2px}

/* software multi-select */
.sw-input-wrap{position:relative}
.sw-selected{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sw-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.2);border-radius:20px;color:var(--blue);font-family:var(--mono)}
.sw-pill-x{cursor:pointer;opacity:.7;font-size:13px;line-height:1}
.sw-pill-x:hover{opacity:1}

/* KB link button in editor */
.kb-link-btn{padding:5px 10px;font-size:11px;background:var(--bg4);border:1px solid var(--border2);border-radius:var(--r);color:var(--teal);cursor:pointer;font-family:var(--mono)}
.kb-link-btn:hover{background:var(--bg3)}

/* ── TEMPLATE CARDS ──────────────────────────────────────────── */
.tmpl-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:16px 18px;margin-bottom:10px}
.tmpl-card h4{font-size:13px;font-weight:600;margin-bottom:4px}
.tmpl-card p{font-size:12px;color:var(--text2)}
.tmpl-acts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;align-items:center}
.vc{font-family:var(--mono);font-size:10px;padding:1px 6px;background:#1a1f2a;color:var(--blue);border-radius:3px;border:1px solid #1e2a3a}

/* ── BULK ────────────────────────────────────────────────────── */
.tab-bar{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px}
.tab{padding:8px 16px;font-size:12px;cursor:pointer;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-1px}
.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.upload-zone{border:1px dashed var(--border2);border-radius:var(--rl);padding:28px;text-align:center;cursor:pointer;color:var(--text3);font-size:13px;margin-bottom:12px;transition:all .2s}
.upload-zone:hover{border-color:var(--accent);color:var(--text2)}
.csv-prev{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:12px;max-height:180px;overflow-y:auto}
.csv-prev table{width:100%;font-size:11px;border-collapse:collapse}
.csv-prev th{padding:7px 10px;text-align:left;font-family:var(--mono);font-size:10px;color:var(--text3);border-bottom:1px solid var(--border);background:var(--bg2);text-transform:uppercase;letter-spacing:.06em}
.csv-prev td{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text2)}
.csv-prev tr:last-child td{border-bottom:none}
.bsr{display:grid;grid-template-columns:24px 1fr 1fr 80px;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;align-items:center}
.bsr.hdr{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--bg)}
.bck{width:14px;height:14px;cursor:pointer;accent-color:var(--accent)}
.sbanner{background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.2);border-radius:var(--r);padding:10px 14px;font-size:12px;color:var(--accent);margin-bottom:12px;display:none;font-family:var(--mono)}
.sbanner.show{display:block}

/* ── GLOBAL SEARCH ─────────────────────────────────────── */
.gsearch-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:500;align-items:flex-start;justify-content:center;padding-top:80px}
.gsearch-overlay.open{display:flex}
.gsearch-box{width:640px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6);pointer-events:all;position:relative;z-index:501}
.gsearch-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}
.gsearch-input-wrap svg{width:16px;height:16px;color:var(--text3);flex-shrink:0}
.gsearch-input{flex:1;background:transparent;border:none;outline:none;font-size:15px;color:var(--text);font-family:var(--sans);pointer-events:all;user-select:text;-webkit-user-select:text;cursor:text}
.gsearch-input::placeholder{color:var(--text3)}
.gsearch-results{max-height:60vh;overflow-y:auto}
.gsearch-dropdown{position:absolute;top:calc(100% + 6px);left:0;width:400px;max-width:92vw;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);box-shadow:0 12px 36px rgba(0,0,0,.5);z-index:300;overflow:hidden}
.gsearch-group-label{font-size:10px;color:var(--text3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 18px 5px}
.gsearch-result{display:flex;align-items:center;gap:12px;padding:10px 18px;cursor:pointer;transition:background .1s}
.gsearch-result:hover,.gsearch-result.focused{background:var(--bg3)}
.gsearch-result-icon{width:28px;height:28px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}
.gsearch-result-main{flex:1;min-width:0}
.gsearch-result-title{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gsearch-result-sub{font-size:11px;color:var(--text3);margin-top:2px}
.gsearch-result-badge{flex-shrink:0}
.gsearch-empty{padding:32px;text-align:center;color:var(--text3);font-size:13px}
.gsearch-footer{padding:8px 18px;border-top:1px solid var(--border);font-size:11px;color:var(--text3);display:flex;gap:14px}
/* ── SLA ───────────────────────────────────────────────── */
.sla-ok{font-size:10px;font-family:var(--mono);padding:2px 6px;border-radius:3px;background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.sla-warn{font-size:10px;font-family:var(--mono);padding:2px 6px;border-radius:3px;background:rgba(251,191,36,.1);color:var(--amber)}
.sla-breach{font-size:10px;font-family:var(--mono);padding:2px 6px;border-radius:3px;background:rgba(248,113,113,.15);color:var(--red);font-weight:600}
/* ── MERGE MODAL ───────────────────────────────────────── */
.merge-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;cursor:pointer;font-size:12px;transition:border-color .15s}
.merge-row:hover{border-color:var(--accent)}
.merge-row.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}
/* ── STATUS PAGE ───────────────────────────────────────── */
.status-service-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:12px 14px;display:flex;align-items:center;justify-content:space-between}
.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.status-dot.operational{background:var(--accent)}
.status-dot.degraded{background:var(--amber)}
.status-dot.outage{background:var(--red)}
.status-dot.maintenance{background:var(--blue)}
.incident-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px 16px;margin-bottom:10px}
.incident-card.active{border-color:var(--amber)}
.incident-card.resolved{opacity:.7}
/* ── RECURRING ─────────────────────────────────────────── */
.recur-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;gap:14px}
.recur-badge{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:3px;background:var(--bg3);color:var(--text2)}
.xbtn{background:none;border:none;cursor:pointer;color:var(--text3);font-size:18px;line-height:1;padding:2px 6px}
.xbtn:hover{color:var(--text)}
.linked-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer;font-size:12px}
.linked-row:last-child{border-bottom:none}
.linked-row:hover{color:var(--accent)}
/* ── SETTINGS ──────────────────────────────────────────── */
.settings-nav-item{padding:8px 20px 8px 28px;font-size:13px;cursor:pointer;color:var(--text2);transition:all .1s;border-left:2px solid transparent;white-space:nowrap}
.settings-nav-item:hover{background:var(--bg3);color:var(--text)}
.settings-nav-item.active{color:var(--accent);border-left-color:var(--accent);background:rgba(var(--accent-rgb),.05)}
.settings-nav-group{padding:14px 20px 5px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)}
.settings-nav-group:first-of-type{padding-top:2px}
.settings-search-wrap{padding:2px 12px 10px;position:sticky;top:0;background:var(--bg2);z-index:2}
.settings-search-wrap input{width:100%;padding:7px 10px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);color:var(--text);font-size:12px;font-family:var(--sans);outline:none}
.settings-search-wrap input:focus{border-color:var(--accent)}
.settings-nav-noresult{padding:12px 20px;font-size:12px;color:var(--text3);display:none}
.settings-panel{display:none}
.settings-panel.active{display:block}
.settings-section-title{font-size:16px;font-weight:600;letter-spacing:-.02em;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.settings-group{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.settings-group:last-child{border-bottom:none}
.settings-label{font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}
.settings-desc{font-size:12px;color:var(--text3);line-height:1.6}
.color-swatch{width:36px;height:36px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .15s;position:relative}
.color-swatch.selected{border-color:var(--text)!important;box-shadow:0 0 0 3px var(--bg),0 0 0 5px currentColor}
.color-swatch:hover{transform:scale(1.1)}
.custom-swatch{position:relative;overflow:hidden}
.font-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:12px;cursor:pointer;transition:all .15s}
.font-card:hover{border-color:var(--border2)}
.font-card.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}
.bg-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:10px;cursor:pointer;transition:all .15s;font-size:12px}
.bg-card:hover{border-color:var(--border2)}
.bg-card.selected{border-color:var(--accent)}
.radius-card{background:var(--bg3);border:1px solid var(--border);padding:8px 16px;cursor:pointer;font-size:12px;color:var(--text2);transition:all .15s}
.radius-card.selected{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.06)}
.summary-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.summary-section:last-child{border-bottom:none;margin-bottom:0}
.summary-section-title{font-size:10px;font-family:var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.summary-section-body{font-size:13px;color:var(--text2);line-height:1.7}
.summary-section-body p{margin:0 0 8px}
.summary-section-body ul{margin:0;padding-left:16px}
.summary-section-body li{margin-bottom:4px}
.summary-section-body strong{color:var(--text);font-weight:600}
.summary-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:14px}
.summary-spinner{width:28px;height:28px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.summary-meta-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-family:var(--mono);background:var(--bg3);color:var(--text3);margin:2px}padding:6px 0;border-bottom:1px solid var(--border);font-size:12px}
.task-row:last-child{border-bottom:none}
.task-check{width:15px;height:15px;border-radius:3px;border:1.5px solid var(--border2);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;background:transparent}
.task-check.done{background:var(--accent);border-color:var(--accent);color:#000}
.task-name{flex:1;color:var(--text2);line-height:1.4}
.task-name.done{text-decoration:line-through;color:var(--text3)}
/* Ticket tasks — dedicated row class so we don't inherit the project-task grid */
.tkt-task{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.tkt-task:last-child{border-bottom:none}
.tkt-task-body{flex:1;min-width:0}
.tkt-task-meta{display:flex;align-items:center;gap:12px;margin-top:4px;font-size:11px;color:var(--text3);flex-wrap:wrap}
.tkt-task-chip{cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.tkt-task-chip:hover{color:var(--text)}
.tkt-due{cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.tkt-due:hover{color:var(--text)}
.tkt-due.overdue{color:var(--red);font-weight:600}
.tkt-due.today{color:var(--amber);font-weight:600}
.tkt-task-del{opacity:0;background:none;border:none;color:var(--text3);cursor:pointer;font-size:15px;line-height:1;padding:0 2px;flex-shrink:0}
.tkt-task:hover .tkt-task-del{opacity:1}
.tmpl-task-row{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px;color:var(--text2)}
.tmpl-task-row:last-child{border-bottom:none}
.rpt-filter-group label{font-size:10px;font-family:var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.rpt-filter-group select{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:4px 8px;color:var(--text);font-size:12px;font-family:var(--sans);outline:none;cursor:pointer}
.saved-report-item{padding:8px 16px;cursor:pointer;border-left:2px solid transparent;font-size:12px;color:var(--text2);transition:all .1s;display:flex;align-items:center;justify-content:space-between;gap:6px}
.saved-report-item:hover{background:var(--bg3);border-left-color:var(--border2)}
.saved-report-item.active{border-left-color:var(--accent);background:rgba(var(--accent-rgb),.05);color:var(--text)}
.rpt-summary-bar{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}
.rpt-summary-bar-fill{height:8px;border-radius:4px;background:var(--accent);min-width:2px;transition:width .3s}
.rpt-summary-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2)}
.rpt-summary-count{font-family:var(--mono);font-size:11px;color:var(--text3);flex-shrink:0;width:36px;text-align:right}font-size:12px;color:var(--text2);padding:5px 10px;border:1px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .15s;position:relative}
.tab-perm-label:has(input:checked){border-color:var(--accent);background:rgba(var(--accent-rgb),.06);color:var(--accent)}
.tab-perm-label input{accent-color:var(--accent);cursor:pointer}
.tab-perm-label[title]:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border2);border-radius:var(--r);padding:7px 10px;font-size:11px;color:var(--text2);white-space:normal;width:220px;z-index:200;line-height:1.5;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.tab-perm-label[title]:hover::before{content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--border2);z-index:201}
.day-toggle{padding:5px 10px;border-radius:var(--r);border:1px solid var(--border2);font-size:11px;cursor:pointer;color:var(--text3);font-family:var(--mono);transition:all .15s}
.day-toggle.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}
.drag-handle-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;cursor:grab;font-size:13px;color:var(--text2);transition:background .1s;user-select:none}
.drag-handle-row:hover{background:var(--bg3)}
.drag-handle-row.dragging{opacity:.4;cursor:grabbing}
.drag-handle{color:var(--text3);flex-shrink:0;cursor:grab}
.settings-toggle{width:36px;height:20px;border-radius:10px;background:var(--bg4);border:1px solid var(--border2);cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}
.settings-toggle.on{background:var(--accent)}
.settings-toggle::after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s}
.settings-toggle.on::after{left:18px}
.notif-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.notif-toggle-row:last-child{border-bottom:none}
.custom-field-row{display:grid;grid-template-columns:1fr 100px 80px 60px 36px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}
.custom-field-row:last-child{border-bottom:none}
.list-item-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;font-size:13px}
.list-item-row span{flex:1}

.notif-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;display:flex;gap:10px;align-items:flex-start}
.notif-item:hover{background:var(--bg3)}
.notif-item.unread{background:rgba(var(--accent-rgb),.04)}
.notif-item.unread::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px}
.notif-item:not(.unread)::before{content:'';width:6px;height:6px;flex-shrink:0}
.notif-icon{font-size:16px;flex-shrink:0;width:24px;text-align:center}
.notif-body{flex:1;min-width:0}
.notif-title{font-size:12px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notif-sub{font-size:11px;color:var(--text3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notif-time{font-size:10px;color:var(--text3);font-family:var(--mono);flex-shrink:0;margin-top:2px}
/* ── EMAIL ─────────────────────────────────────────────── */
.email-sent-badge{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:3px;background:rgba(96,165,250,.12);color:var(--blue);margin-left:6px}
/* ── TEAMS ─────────────────────────────────────────────── */
.team-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:18px 20px;margin-bottom:12px}
.team-member-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}
.team-member-row:last-child{border-bottom:none}
.team-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:3px;font-weight:500;font-family:var(--mono)}
.watcher-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:12px}
.watcher-row:last-child{border-bottom:none}
.watcher-notif-toggle{font-size:10px;padding:2px 7px;border-radius:3px;border:1px solid var(--border2);cursor:pointer;color:var(--text3);font-family:var(--mono);transition:all .15s}
.watcher-notif-toggle.on{background:rgba(var(--accent-rgb),.1);border-color:var(--accent);color:var(--accent)}
.kb-series-strip{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px 18px;display:flex;align-items:center;gap:12px}
.kb-series-dot{width:8px;height:8px;border-radius:50%;background:var(--border2);flex-shrink:0;transition:background .15s}
.kb-series-dot.active{background:var(--accent)}
.kb-series-dot.done{background:var(--accent);opacity:.5}
.kb-archived-badge{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:3px;background:rgba(248,113,113,.12);color:var(--red);margin-left:8px}
.ai-thinking{color:var(--text3);font-size:12px;font-family:var(--mono);padding:8px 0;display:flex;align-items:center;gap:6px}
.ai-thinking::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.tag-pill{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:3px;background:rgba(96,165,250,.12);color:var(--blue);border:1px solid rgba(96,165,250,.2);display:inline-flex;align-items:center;gap:3px;transition:background .15s}
.tag-pill:hover{background:rgba(96,165,250,.2)}
.canned-item:last-child{border-bottom:none}
.canned-item:hover{background:var(--bg3)}
.canned-item-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:3px}
.canned-item-preview{font-size:11px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.update-bubble-internal{background:rgba(251,191,36,.07)!important;border-color:rgba(251,191,36,.25)!important}
.update-bubble-resolution{background:rgba(var(--accent-rgb),.07)!important;border-color:rgba(var(--accent-rgb),.25)!important}
.update-bubble-troubleshooting{background:rgba(96,165,250,.07)!important;border-color:rgba(96,165,250,.2)!important}
.update-bubble-internal img,.update-bubble-resolution img,.update-bubble-troubleshooting img,#tp-feed img{max-width:100%;border-radius:6px;margin:6px 0;display:block;cursor:pointer}
.update-type-pill{font-size:10px;font-family:var(--mono);padding:1px 6px;border-radius:3px;margin-right:6px;font-weight:600}
.pill-internal{background:rgba(251,191,36,.15);color:var(--amber)}
.pill-resolution{background:rgba(var(--accent-rgb),.15);color:var(--accent)}
.pill-troubleshooting{background:rgba(96,165,250,.15);color:var(--blue)}
.pill-update{background:var(--bg4);color:var(--text3)}
.pill-email{background:rgba(192,85,44,.16);color:#e08a5c}
.mention{display:inline;background:rgba(96,165,250,.16);color:var(--blue);border-radius:3px;padding:0 3px;font-weight:600;white-space:nowrap}
#mention-dropdown{display:none;position:fixed;z-index:200;min-width:230px;max-width:320px;max-height:240px;overflow-y:auto;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r);box-shadow:0 6px 18px rgba(0,0,0,.4)}
.mention-item{display:flex;flex-direction:column;gap:1px;padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--border)}
.mention-item:last-child{border-bottom:none}
.mention-item.on,.mention-item:hover{background:var(--bg3)}
.mention-item-name{font-size:12px;color:var(--text);font-weight:600}
.mention-item-email{font-size:10px;color:var(--text3);font-family:var(--mono)}
.lock-icon{font-size:11px;margin-right:4px}
.kb-editor-page{display:none;position:fixed;inset:0;background:var(--bg);z-index:60;flex-direction:column}
.kb-editor-page.open{display:flex}
.kb-editor-topbar{height:52px;background:var(--bg2);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0}
.kb-editor-body{display:grid;grid-template-columns:260px 1fr;flex:1;overflow:hidden}
.kb-editor-meta{overflow-y:auto;padding:20px;border-right:1px solid var(--border);background:var(--bg2)}
.kb-editor-content{overflow-y:auto;display:flex;flex-direction:column;padding:20px 32px}
.ql-toolbar.ql-snow{background:var(--bg2)!important;border:1px solid var(--border)!important;border-bottom:none!important;border-radius:var(--r) var(--r) 0 0;padding:8px!important}
.ql-toolbar .ql-stroke:not(.ql-color-label){stroke:var(--text2)!important}.ql-toolbar .ql-fill:not(.ql-color-label){fill:var(--text2)!important}
.ql-toolbar button:hover .ql-stroke:not(.ql-color-label),.ql-toolbar .ql-active .ql-stroke:not(.ql-color-label){stroke:var(--accent)!important}
.ql-toolbar button:hover .ql-fill:not(.ql-color-label),.ql-toolbar .ql-active .ql-fill:not(.ql-color-label){fill:var(--accent)!important}
.ql-toolbar .ql-picker-label{color:var(--text2)!important}
.ql-container.ql-snow{border:1px solid var(--border)!important;border-radius:0 0 var(--r) var(--r)}
.ql-editor{background:var(--bg3);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.8;min-height:400px}
.ql-editor.ql-blank::before{color:var(--text3)!important;font-style:normal!important}
.ql-editor h1,.ql-editor h2,.ql-editor h3{color:var(--text)!important}
.ql-editor pre.ql-syntax{background:var(--bg)!important;color:var(--teal)!important;border:1px solid var(--border);border-left:3px solid var(--teal)}
.ql-editor a{color:var(--blue)!important}
.ql-snow .ql-picker-options{background:var(--bg2)!important;border-color:var(--border)!important}
.ql-snow .ql-picker-item{color:var(--text)!important}
.ql-snow .ql-picker.ql-color-picker .ql-picker-item,.ql-snow .ql-picker.ql-background .ql-picker-item{border:1px solid var(--border)}
.restricted-block{background:rgba(251,191,36,.06);border-left:3px solid rgba(251,191,36,.3);padding:10px 14px;margin:8px 0;border-radius:0 var(--r) var(--r) 0}
.restricted-block[data-tier="it"]{background:rgba(248,113,113,.06)!important;border-left-color:rgba(248,113,113,.3)!important}
.draft-badge{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:3px;background:rgba(251,191,36,.15);color:var(--amber);margin-left:8px}
.kb-comment{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.kb-comment:last-child{border-bottom:none}
.kb-comment-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}
.kb-comment-body{flex:1}
.kb-comment-author{font-size:12px;font-weight:600;color:var(--text)}
.kb-comment-time{font-size:10px;color:var(--text3);font-family:var(--mono);margin-left:8px}
.kb-comment-text{font-size:13px;color:var(--text2);line-height:1.6;margin-top:4px}
.kb-rating-bar{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border);margin-top:16px}
.kb-rating-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border2);background:transparent;cursor:pointer;font-size:13px;color:var(--text2);transition:all .15s}
.kb-rating-btn:hover{border-color:var(--accent);color:var(--accent)}
.kb-rating-btn.active-up{background:rgba(var(--accent-rgb),.1);border-color:var(--accent);color:var(--accent)}
.kb-rating-btn.active-down{background:rgba(248,113,113,.1);border-color:var(--red);color:var(--red)}
.history-item{padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;font-size:12px;transition:background .1s}
.history-item:hover{background:var(--bg3)}
.history-item.previewing{background:rgba(var(--accent-rgb),.08);border-left:3px solid var(--accent)}
.review-due-banner{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.2);border-radius:var(--r);padding:10px 14px;font-size:12px;color:var(--amber);margin-bottom:14px}
.kb-tmpl-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rl);padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.kb-tmpl-card:hover{border-color:var(--accent)}
.proj-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:18px 20px;margin-bottom:12px;cursor:pointer;transition:border-color .15s}
.proj-card:hover{border-color:var(--border2)}
.proj-progress-track{height:4px;background:var(--bg4);border-radius:2px;overflow:hidden;margin:10px 0}
.proj-progress-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .4s}
.phase-block{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);margin-bottom:16px;overflow:hidden}
.phase-header{padding:12px 16px;background:var(--bg3);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.phase-header:hover{background:var(--bg4)}
.phase-title{font-size:13px;font-weight:600;letter-spacing:-.01em}
.phase-meta{font-size:11px;color:var(--text3);font-family:var(--mono)}
.task-row{display:grid;grid-template-columns:20px 1fr 90px 110px 70px 80px;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:12px;align-items:center}
.tp-tab{padding:10px 18px;font-size:12px;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;user-select:none}
#tp-update-input:empty:before{content:attr(placeholder);color:var(--text3);pointer-events:none;position:absolute}
#tp-update-input{position:relative}
#tp-update-input img{max-width:100%;border-radius:var(--r);margin:4px 0;display:block}
.tp-tab:hover{color:var(--text2);background:var(--bg3)}
.tp-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
.task-row:last-child{border-bottom:none}
.task-row.header{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--bg);padding:7px 16px}
.task-check{width:16px;height:16px;border-radius:50%;border:2px solid var(--border2);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.task-check.done{background:var(--accent);border-color:var(--accent)}
.task-check.done::after{content:'✓';font-size:9px;color:#000;font-weight:700}
.task-add-row{padding:10px 16px;font-size:12px;color:var(--text3);cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .15s}
.task-add-row:hover{color:var(--accent)}
.people-chip{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}
.people-chip:last-child{border-bottom:none}
.people-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}
.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.rep-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:18px}
.rep-card h4{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.bl{width:80px;font-size:11px;color:var(--text2);text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt{flex:1;height:6px;background:var(--bg4);border-radius:3px;overflow:hidden}
.bf{height:100%;border-radius:3px}
.bc{width:24px;font-size:11px;color:var(--text3);text-align:right;font-family:var(--mono)}
.rep-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.rep-stat{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px;text-align:center}
.rep-stat .rv{font-size:26px;font-weight:600;font-family:var(--mono)}
.rep-stat .rl2{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.ttable{width:100%;font-size:12px;border-collapse:collapse}
.ttable td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text2)}
.ttable td:first-child{color:var(--text)}
.ttable tr:last-child td{border-bottom:none}
.trend-bars{display:flex;align-items:flex-end;gap:4px;height:56px;margin-top:8px}
.trend-bar{flex:1;border-radius:2px 2px 0 0;min-height:2px;background:var(--purple);opacity:.7}
.trend-lbls{display:flex;gap:4px;margin-top:5px}
.trend-lbl{flex:1;font-size:10px;color:var(--text3);text-align:center;font-family:var(--mono)}

.info-note{background:rgba(var(--accent-rgb),.05);border:1px solid rgba(var(--accent-rgb),.15);border-radius:var(--r);padding:10px 14px;font-size:11px;color:var(--text2);margin-bottom:16px;font-family:var(--mono);line-height:1.6}
.info-note strong{color:var(--accent)}
/* nav dropdowns */
.nav-tab-wrap{position:relative;display:flex;align-items:stretch}
.nav-drop{display:none;position:absolute;top:100%;left:0;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);min-width:170px;box-shadow:0 4px 16px rgba(0,0,0,.5);z-index:200;padding:6px 0;margin-top:-1px}
.nav-drop.open{display:block}
.nav-drop-item{padding:9px 14px;font-size:12px;cursor:pointer;color:var(--text2);display:flex;align-items:center;gap:6px;position:relative;white-space:nowrap}
.nav-drop-item:hover{background:var(--bg3);color:var(--text)}
.nav-drop-badge{font-family:var(--mono);font-size:10px;color:var(--blue);margin-left:auto;padding-left:8px}
.nav-drop-divider{height:1px;background:var(--border);margin:4px 0}
.nav-drop-flyout{display:none;position:absolute;left:100%;top:-6px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);min-width:260px;box-shadow:0 4px 16px rgba(0,0,0,.5);z-index:300;padding-bottom:6px}
.nav-drop-item-recent:hover .nav-drop-flyout{display:block}
.flyout-ticket-row{padding:9px 12px;font-size:12px;cursor:pointer;color:var(--text2);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.flyout-ticket-row:last-child{border-bottom:none}
.flyout-ticket-row:hover{background:var(--bg3);color:var(--text)}
.flyout-ticket-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* split button */
.split-btn-wrap{position:relative}
.split-drop{display:none;position:absolute;top:100%;right:0;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rl);min-width:190px;box-shadow:0 4px 16px rgba(0,0,0,.5);z-index:200;padding:6px 0;margin-top:2px}
.split-btn-wrap:hover .split-drop{display:block}
.split-drop-item{padding:9px 14px;font-size:12px;cursor:pointer;color:var(--text2)}
.split-drop-item:hover{background:var(--bg3);color:var(--text)}
/* views bar */
.view-tab{padding:8px 14px;font-size:12px;cursor:pointer;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:color .15s}
.view-tab:hover{color:var(--text)}
.view-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.view-tab-x{font-size:14px;color:var(--text3);cursor:pointer;line-height:1;padding:0 2px}
.view-tab-x:hover{color:var(--red)}
/* filter chips */
.filter-group{margin-bottom:18px}
.filter-group-label{font-size:10px;color:var(--text3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.fc{font-size:12px;padding:4px 10px;border:1px solid var(--border2);border-radius:20px;cursor:pointer;color:var(--text2);transition:all .15s;white-space:nowrap}
.fc:hover{border-color:var(--text3);color:var(--text)}
.fc.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:500}
/* active filter pills */
.afilter{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 8px;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.25);border-radius:20px;color:var(--accent);cursor:pointer;font-family:var(--mono)}
.afilter:hover{background:rgba(var(--accent-rgb),.18)}
.afilter-x{font-size:13px;opacity:.7;line-height:1}
/* column toggle rows */
.col-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text2);cursor:grab}
.col-row:last-child{border-bottom:none}
.col-row.dragging{opacity:.4}
.col-toggle{width:32px;height:18px;border-radius:9px;background:var(--bg4);border:1px solid var(--border2);cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}
.col-toggle.on{background:var(--accent)}
.col-toggle::after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s}
.col-toggle.on::after{left:16px}
/* sortable header */
.th-sortable{cursor:pointer;user-select:none;display:flex;align-items:center;gap:4px}
.th-sortable:hover{color:var(--text)}
.sort-arrow{font-size:10px;opacity:.5}

/* ════════════ REDESIGN: LEFT NAV RAIL ════════════ */
:root{--sidenav-w:212px}
body.snav-collapsed{--sidenav-w:60px}
.sidenav{width:var(--sidenav-w);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;transition:width .18s ease;padding:6px 0}
.sidenav::-webkit-scrollbar{width:4px}
.snav-toggle{display:flex;align-items:center;gap:11px;margin:2px 8px 6px;padding:8px 10px;border-radius:var(--r);color:var(--text3);cursor:pointer;font-size:12px}
.snav-toggle:hover{background:var(--bg3);color:var(--text)}
.snav-toggle svg{width:16px;height:16px;flex-shrink:0}
.snav-group{font-size:9px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);padding:13px 18px 5px;white-space:nowrap}
.snav-item{display:flex;align-items:center;gap:11px;height:auto;margin:1px 8px;padding:8px 10px;border-radius:var(--r);border-bottom:none!important;color:var(--text2);font-size:13px;cursor:pointer;white-space:nowrap;position:relative;transition:background .12s,color .12s}
.snav-item:hover{background:var(--bg3);color:var(--text)}
.snav-item.active{background:rgba(var(--accent-rgb),.12);color:var(--text);border-bottom:none}
.snav-item.active::before{content:'';position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.snav-item svg{width:16px;height:16px;flex-shrink:0}
.snav-item .snav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.snav-badge{font-size:9px;font-family:var(--mono);background:var(--bg4);color:var(--text2);border-radius:9px;padding:1px 6px;min-width:14px;text-align:center}
.snav-spacer{flex:1}
body.snav-collapsed .snav-label,body.snav-collapsed .snav-group,body.snav-collapsed .snav-badge,body.snav-collapsed .snav-toggle-label{display:none}
body.snav-collapsed .snav-item{justify-content:center;padding:9px 0;margin:1px 8px}
body.snav-collapsed .snav-toggle{justify-content:center;padding:8px 0}
body.snav-collapsed .snav-item::after{content:attr(data-label);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--bg4);color:var(--text);font-size:11px;padding:4px 9px;border-radius:var(--r);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:300;box-shadow:0 4px 12px rgba(0,0,0,.45)}
body.snav-collapsed .snav-item:hover::after{opacity:1}
/* shift fixed full-page overlays so they start after the rail */
.page{left:var(--sidenav-w)!important;transition:left .18s ease}

/* ════════════ REDESIGN: DASHBOARD DONUTS + ANNOUNCEMENTS ════════════ */
.donut-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:border-color .15s,transform .15s}
.donut-card:hover{border-color:var(--border2);transform:translateY(-1px)}
.donut{position:relative;width:60px;height:60px;flex-shrink:0}
.donut svg{transform:rotate(-90deg)}
.donut-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:18px;font-weight:700;letter-spacing:-.03em}
.donut-meta{min-width:0}
.donut-label{font-size:12px;color:var(--text);font-weight:500}
.donut-sub{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
/* Modular dashboard — free-tiling flex; native resize grip in edit mode (like ticket-page panels) */
#dash-modules{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.dash-module{position:relative;box-sizing:border-box;flex:0 1 auto;width:340px;max-width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:14px;overflow:hidden}
.dash-module[data-mod="stats"]{width:100%;background:transparent;border:none;padding:0}
/* Edit mode: turn on the browser's native resize grip (bottom-right corner) */
body.dash-editing .dash-module{resize:both;overflow:auto;min-width:220px;min-height:110px}
.dash-module-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:10px;font-family:var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.08em}
.dash-module-head .dm-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-handle{cursor:grab;color:var(--text3);display:none;font-size:13px;line-height:1}
.dm-hide{background:none;border:none;color:var(--text3);cursor:pointer;font-size:13px;line-height:1;padding:0 2px;display:none}
.dm-hide:hover{color:var(--red)}
.dash-module[data-mod="stats"] .dash-module-head{display:none}
body.dash-editing .dash-module[data-mod="stats"] .dash-module-head{display:flex}
body.dash-editing .dm-handle,body.dash-editing .dm-hide{display:inline-block}
body.dash-editing .dash-module{outline:1px dashed var(--border2);outline-offset:3px}
.dash-module.dm-dragging{opacity:.45}
.dash-module.dm-dragover{outline:2px dashed var(--accent);outline-offset:3px}
.dash-hidden-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;background:var(--bg3);border:1px solid var(--border2);border-radius:14px;padding:3px 10px;cursor:pointer;color:var(--text2)}
.dash-hidden-chip:hover{color:var(--text);border-color:var(--accent)}
.dash-announce{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);display:flex;flex-direction:column;overflow:hidden}
.dash-announce-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--border)}
.dash-announce-head h4{font-size:12px;font-weight:600;letter-spacing:-.01em}
.dash-announce-body{overflow-y:auto;flex:1}
.announce-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.announce-item:last-child{border-bottom:none}
.announce-item:hover{background:var(--bg3)}
.announce-dot{width:7px;height:7px;border-radius:50%;margin-top:5px;flex-shrink:0}
.announce-title{font-size:12px;color:var(--text);font-weight:500;line-height:1.35}
.announce-sub{font-size:11px;color:var(--text3);margin-top:2px}

/* ════════════ REDESIGN: TICKET 3-COLUMN + CONFIGURABLE LAYOUT ════════════ */
#tp-grid{--tpL:280px;--tpR:300px}
.tp-col{background:var(--bg2);min-width:0}
#tp-col-left{border-right:1px solid var(--border)}
.tp-panel{position:relative}
.tp-drag-handle{display:none;position:absolute;top:8px;right:10px;width:22px;height:22px;border-radius:var(--r);background:var(--bg4);color:var(--text2);align-items:center;justify-content:center;cursor:grab;z-index:6;font-size:11px;line-height:1}
body.tp-customizing .tp-drag-handle{display:flex}
body.tp-customizing .tp-panel{outline:1px dashed var(--border2);outline-offset:-3px;border-radius:var(--r)}
body.tp-customizing .tp-col{outline:2px dashed rgba(var(--accent-rgb),.3);outline-offset:-4px;min-height:70px}
.tp-panel.tp-dragging{opacity:.35}
.tp-col.tp-dragover{background:rgba(var(--accent-rgb),.05)}
.tp-customize-bar{display:none;align-items:center;gap:10px;padding:8px 24px;background:rgba(var(--accent-rgb),.08);border-bottom:1px solid rgba(var(--accent-rgb),.25);font-size:12px;color:var(--accent)}
body.tp-customizing .tp-customize-bar{display:flex}
.tp-hide-btn{display:none;position:absolute;top:8px;right:38px;width:22px;height:22px;border-radius:var(--r);background:var(--bg4);color:var(--text2);align-items:center;justify-content:center;cursor:pointer;z-index:6;font-size:10px;line-height:1}
body.tp-customizing .tp-hide-btn{display:flex}
body.tp-customizing .tp-hide-btn:hover{color:var(--red)}
/* Sizeable, scrollable panel bodies (activity log, requester history, notes & conversation feeds).
   Height is applied inline + persisted; the native resize handle is exposed only in customize mode. */
.tp-scrollbox{overflow-y:auto;overflow-x:hidden}
#tp-feed-notes.tp-scrollbox{flex:none}
body.tp-customizing .tp-scrollbox{resize:vertical;min-height:64px;outline:1px dashed var(--blue);outline-offset:2px;border-radius:var(--r)}

/* ════════════ REDESIGN: NOTES vs CONVERSATION FEED ════════════ */
.feed-subtab{background:none;border:none;border-radius:4px;padding:5px 11px;font-size:11px;font-weight:500;color:var(--text3);cursor:pointer;font-family:var(--sans);white-space:nowrap;transition:all .12s}
.feed-subtab:hover{color:var(--text)}
.feed-subtab.active{background:var(--bg);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.35)}
.feed-subtabs{display:flex;gap:3px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:2px}
body.feed-view-notes .feed-cat-conversation{display:none}
body.feed-view-conversation .feed-cat-notes{display:none}
.feed-empty{padding:28px 12px;text-align:center;color:var(--text3);font-size:12px}
body.feed-view-notes #feed-empty-conversation,body.feed-view-conversation #feed-empty-notes{display:none}
