:root{--ink:#171b2e;--ink-2:#20263f;--line-ink:#2c3354;--mist:#f5f6fb;--paper:#fff;--line:#e4e7f2;--text:#1b2030;--muted:#707892;--muted-ink:#9aa1be;--hub:#ff6a55;--hub-700:#e8543f;--tg:#229ed9;--wa:#25d366;--dc:#5865f2;--sl:#4a154b;--mx:#0075ff;--danger:#d6435b;--ok:#1fae84;--r-sm:8px;--r:14px;--r-lg:22px;--shadow:0 1px 2px #171b2e0f, 0 14px 40px -18px #171b2e47;--ring:0 0 0 3px #ff6a5552;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--body);color:var(--text);background:var(--mist);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.auth{grid-template-columns:1.05fr 1fr;min-height:100%;display:grid}.auth__hero{background:radial-gradient(120% 90% at 12% 0%, #232a47 0%, var(--ink) 52%, #11142340 100%);color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth__panel{justify-content:center;align-items:center;padding:clamp(24px,5vw,64px);display:flex}.auth__card{width:100%;max-width:392px}.brand{font-family:var(--display);letter-spacing:-.02em;color:#fff;align-items:center;gap:10px;font-size:22px;font-weight:700;text-decoration:none;display:inline-flex}.brand__dot{background:var(--hub);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 4px #ff6a552e}.brand--ink{color:var(--ink)}.hero__lede{font-family:var(--display);letter-spacing:-.025em;max-width:14ch;margin:28px 0 0;font-size:clamp(30px,3.6vw,46px);font-weight:600;line-height:1.04}.hero__sub{color:var(--muted-ink);max-width:40ch;margin:18px 0 0;font-size:16px;line-height:1.55}.hero__foot{font-family:var(--mono);letter-spacing:.04em;color:var(--muted-ink);text-transform:uppercase;font-size:12px}.converge{width:100%;max-width:460px;margin:8px 0}.converge__path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-dasharray:5 9;animation:1.4s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-28px}}.converge__node{transform-box:fill-box;transform-origin:50%}.converge__hub{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.converge__label{font-family:var(--mono);letter-spacing:.06em;fill:var(--muted-ink);text-transform:uppercase;font-size:11px}.title{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:30px;font-weight:600}.subtitle{color:var(--muted);margin:0 0 26px;font-size:15px;line-height:1.5}.field{margin-bottom:14px;display:block}.field__label{letter-spacing:.02em;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.input{width:100%;font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 13px;font-size:15px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#aab0c4}.input:focus{border-color:var(--hub);box-shadow:var(--ring);outline:none}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.check{color:var(--muted);-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--hub)}.analytics-toggle{border-top:1px solid var(--line);width:100%;color:var(--muted);-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:13px;display:inline-flex}.analytics-toggle input{width:15px;height:15px;accent-color:var(--hub);cursor:pointer}[data-theme=dark] .analytics-toggle{border-top-color:var(--line-ink)}.brand__tag{letter-spacing:.04em;text-transform:uppercase;color:var(--hub);border:1px solid var(--hub);vertical-align:middle;border-radius:6px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:700}.dept-create{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dept-swatches{gap:6px;display:inline-flex}.dept-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.dept-swatch.is-active{border-color:var(--ink);box-shadow:0 0 0 2px var(--mist)}[data-theme=dark] .dept-swatch.is-active{border-color:#fff}.dept-list{flex-direction:column;gap:8px;display:flex}.dept-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}[data-theme=dark] .dept-row{border-color:var(--line-ink)}.dept-dot{border-radius:50%;flex:none;width:12px;height:12px}.dept-name{font-weight:600}.dept-count{color:var(--muted);font-size:13px}.dept-actions{gap:8px;margin-left:auto;display:inline-flex}.route-group{margin-top:22px}.route-group__head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.route-group__name{font-size:15px;font-weight:700}.route-group__count{color:var(--muted);background:var(--line);border-radius:999px;padding:1px 8px;font-size:12px}[data-theme=dark] .route-group__count{background:var(--line-ink)}.route-dept{color:var(--muted);align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.route-dept select{flex:1;width:auto}.btn{width:100%;font:inherit;border-radius:var(--r-sm);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:600;transition:transform 40ms,background .15s,box-shadow .15s;display:inline-flex}.btn--primary{background:var(--hub);color:#fff;box-shadow:0 8px 18px -8px #ff6a55b3}.btn--primary:hover{background:var(--hub-700)}.btn--primary:active{transform:translateY(1px)}.btn--primary:disabled{opacity:.55;cursor:default;box-shadow:none}.btn--inline{width:auto}.btn--sm{padding:8px 13px;font-size:13px}.btn--ghost{background:var(--paper);border:1px solid var(--line);color:var(--text)}.btn--ghost:hover{border-color:var(--hub);color:var(--hub)}[data-theme=dark] .btn--ghost{border-color:var(--line-ink);background:0 0}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn--google{background:var(--paper);color:var(--text);border:1px solid var(--line);text-decoration:none}.btn--google:hover{background:var(--mist)}[data-theme=dark] .btn--google{border-color:var(--line-ink)}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}[data-theme=dark] .auth-divider:before,[data-theme=dark] .auth-divider:after{background:var(--line-ink)}.link{color:var(--hub-700);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}button.link{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.meta{color:var(--muted);margin-top:18px;font-size:14px}.meta--center{text-align:center}.note{border-radius:var(--r-sm);margin:0 0 16px;padding:11px 13px;font-size:14px;line-height:1.45}.note--ok{color:#0e7c5a;background:#e7f7f1;border:1px solid #bfe9d9}.note--error{color:var(--danger);background:#fcebee;border:1px solid #f3c9d2}.solo{place-items:center;min-height:100%;padding:28px;display:grid}.solo__card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:420px;box-shadow:var(--shadow);padding:38px 34px}.solo__brand{margin-bottom:22px}.app-top{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 clamp(16px,4vw,40px);display:flex}.app-top__right{align-items:center;gap:14px;font-size:14px;display:flex}.app-top__user{font-family:var(--mono);color:var(--muted-ink);font-size:13px}.btn-ghost{font:inherit;color:#fff;border:1px solid var(--line-ink);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:7px 14px;font-size:14px;font-weight:600}.btn-ghost:hover{background:#ffffff14}.dash{max-width:980px;margin:0 auto;padding:clamp(28px,5vw,52px) clamp(16px,4vw,40px)}.dash__welcome{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:28px;font-weight:600}.dash__sub{color:var(--muted);margin:0 0 30px}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:12px}.conn-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.conn-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:20px;display:flex}.conn-card__top{align-items:center;gap:11px;display:flex}.conn-ico{color:#fff;width:34px;height:34px;font-weight:700;font-family:var(--display);border-radius:9px;place-items:center;display:grid}.conn-ico--tg{background:var(--tg)}.conn-ico--wa{background:var(--wa)}.conn-ico--dc{background:var(--dc)}.conn-ico--sl{background:var(--sl)}.conn-ico--mx{background:var(--mx)}.wizard__code{background:var(--mist);border:1px solid var(--line);font-family:var(--mono);color:var(--text);word-break:break-word;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.5;display:block}[data-theme=dark] .wizard__code{border-color:var(--line-ink);background:#0f121e}.conn-card__name{color:var(--ink);font-weight:600}.status{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px}.status:before{content:"";vertical-align:middle;background:#c6cbda;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.btn-conn{font:inherit;color:var(--ink);background:var(--mist);border:1px solid var(--line);border-radius:var(--r-sm);cursor:not-allowed;opacity:.7;margin-top:auto;padding:9px 12px;font-size:14px;font-weight:600}.shelf{margin-top:30px}.shelf__box{border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);background:#fbfcff;padding:22px;font-size:14px}.gdef{border-style:solid;margin-bottom:18px;padding:18px}.gdef__head{flex-direction:column;gap:2px;margin-bottom:14px;display:flex}.gdef__title{color:var(--text);font-size:15px;font-weight:600}.gdef__hint{font-size:12px}.gdef__body{align-items:flex-start;gap:18px;display:flex}.gdef__avatar{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.gdef__img{object-fit:cover;border:1px solid var(--line);border-radius:16px;width:72px;height:72px}.gdef__img--empty{color:var(--muted);background:#fbfcff;justify-content:center;align-items:center;font-size:28px;display:flex}.gdef__avatar-actions{flex-direction:column;align-items:center;gap:4px;display:flex}.gdef__desc{flex:1;margin:0}.gdef__desc textarea{resize:vertical;min-height:64px}.gdef__foot{align-items:center;gap:12px;margin-top:14px;display:flex}@media (width<=860px){.auth{grid-template-columns:1fr}.auth__hero{gap:18px;padding:28px 24px 30px}.hero__lede{margin-top:18px;font-size:28px}.converge{max-width:320px}.conn-grid{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--hub);outline-offset:2px}@media (prefers-reduced-motion:reduce){.converge__path{stroke-dasharray:5 9;animation:none}.converge__hub{animation:none}*{transition:none!important}}.modal-backdrop{z-index:50;background:#171b2e8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:var(--r-lg);width:100%;max-width:720px;box-shadow:var(--shadow);padding:32px;position:relative}.modal__x{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1;position:absolute;top:14px;right:16px}.wizard{grid-template-columns:1fr 1fr;gap:26px;margin-top:12px;display:grid}.wizard__steps{color:var(--text);margin:0;padding-left:20px;font-size:14px;line-height:1.7}.wizard__steps a{word-break:break-all}.wizard__form{flex-direction:column;display:flex}.seg{border:1px solid var(--line);border-radius:var(--r-sm);display:flex;overflow:hidden}.seg button{background:var(--paper);color:var(--muted);cursor:pointer;font:inherit;border:0;flex:1;padding:9px 12px;font-size:14px;transition:background .12s,color .12s}.seg button+button{border-left:1px solid var(--line)}.seg button.is-active{background:var(--hub);color:#fff}[data-theme=dark] .seg,[data-theme=dark] .seg button+button{border-color:var(--line-ink)}.ss{position:relative}.ss__control{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;display:flex}.ss__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss__placeholder{color:#aab0c4}.ss__caret{color:var(--muted);flex:none;font-size:12px}.ss__menu{z-index:60;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0}[data-theme=dark] .ss__menu{border-color:var(--line-ink)}.ss__search{margin-bottom:6px}.ss__list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.ss__opt{text-align:left;width:100%;color:var(--text);cursor:pointer;font:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;flex:none;padding:9px 10px;font-size:14px;overflow:hidden}.ss__opt:hover{background:var(--mist)}.ss__opt.is-active{background:var(--hub);color:#fff}.ss__empty{color:var(--muted);padding:10px;font-size:13px}@media (width<=680px){.wizard{grid-template-columns:1fr}}.wa-qr,.max-qr{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;align-self:center;padding:12px;display:block}.shelf .row-between{margin-bottom:12px}select.input{appearance:none;background-image:none}.app{grid-template-columns:248px 1fr;min-height:100%;display:grid}.rail{background:var(--ink);border-right:1px solid var(--line-ink);z-index:40;flex-direction:column;align-self:start;width:248px;height:100vh;display:flex;position:sticky;top:0}.rail__top{border-bottom:1px solid var(--line-ink);padding:22px 20px 18px}.rail__brand{font-size:20px}.rail__nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.rail__item{border-radius:var(--r-sm);color:var(--muted-ink);border-left:2px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.rail__item:hover{color:#fff;background:#ffffff0f}.rail__item.is-active{color:#fff;border-left-color:var(--hub);background:#ffffff17}.rail__account{border-top:1px solid var(--line-ink);align-items:center;gap:10px;padding:14px 20px;display:flex}.rail__email{font-family:var(--mono);color:var(--muted-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.rail__logout{font:inherit;color:var(--muted-ink);border:1px solid var(--line-ink);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-size:12px;font-weight:600}.rail__logout:hover{color:#fff;background:#ffffff14}.main-col{flex-direction:column;min-width:0;min-height:100%;display:flex}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:12px;height:52px;padding:0 clamp(16px,3vw,36px);display:flex;position:sticky;top:0}.topbar__burger{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:4px;display:none}.topbar__burger span{background:var(--text);border-radius:2px;width:20px;height:2px;display:block}.topbar__title{font-family:var(--display);color:var(--text);letter-spacing:-.01em;flex:1;font-size:16px;font-weight:600}.content{background:var(--mist);flex:1;padding:clamp(24px,4vw,40px) clamp(16px,4vw,40px)}.content>*{max-width:920px}.theme-toggle{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;width:34px;height:34px;color:var(--text);flex-shrink:0;place-items:center;font-size:15px;transition:background .15s;display:grid}.theme-toggle:hover{background:var(--line)}.theme-toggle:focus-visible{box-shadow:var(--ring);outline:none}.page-title{font-family:var(--display);letter-spacing:-.02em;color:var(--text);margin:0 0 20px;font-size:26px;font-weight:600}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header .page-title{margin-bottom:0}.muted{color:var(--muted);font-size:14px}.stats-row{gap:14px;margin-bottom:24px;display:flex}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);min-width:120px;box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:18px 22px;display:flex}.stat-card__value{font-family:var(--display);color:var(--text);letter-spacing:-.03em;font-size:32px;font-weight:700;line-height:1}.stat-card__label{font-size:12px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.codeblock{background:var(--ink);border-radius:var(--r-sm);margin-bottom:14px;position:relative;overflow:hidden}.codeblock__pre{font-family:var(--mono);color:#b4c2e8;white-space:pre;margin:0;padding:14px 90px 14px 16px;font-size:12.5px;line-height:1.6;overflow-x:auto}.codeblock__copy{font:inherit;font-family:var(--mono);color:var(--muted-ink);border:1px solid var(--line-ink);cursor:pointer;white-space:nowrap;background:#ffffff14;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600;position:absolute;top:8px;right:8px}.codeblock__copy:hover{color:#fff;background:#ffffff24}.api-docs{max-width:800px}.api-section{margin-bottom:40px}.api-section__title{font-family:var(--display);letter-spacing:-.015em;color:var(--text);margin:0 0 12px;font-size:18px;font-weight:600}.api-section__desc{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.5}.api-endpoint{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:14px;padding:18px 20px}.api-endpoint__header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.api-method{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:700}.api-method--get{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.api-method--post{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.api-method--delete{color:#c62828;background:#fce4ec;border:1px solid #f48fb1}.api-method--put{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.api-path{font-family:var(--mono);color:var(--text);font-size:13px;font-weight:500}.api-desc{color:var(--muted);margin:0 0 12px;font-size:13.5px;line-height:1.5}[data-theme=dark]{--mist:#0f121e;--paper:#171b2e;--text:#eaecf5;--line:#2c3354;--muted:#9aa1be;--shadow:0 1px 2px #00000040, 0 14px 40px -18px #00000080}[data-theme=dark] .note--ok{color:#4ade80;background:#0e2e23;border-color:#166534}[data-theme=dark] .note--error{color:#f87171;background:#2d0d14;border-color:#7f1d1d}[data-theme=dark] .shelf__box{border-color:var(--line);color:var(--muted);background:#1a1f35}[data-theme=dark] .wa-qr,[data-theme=dark] .max-qr{background:#fff}[data-theme=dark] .topbar{background:var(--paper)}[data-theme=dark] .theme-toggle{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .theme-toggle:hover{background:#2c3354}[data-theme=dark] .api-method--get{color:#4ade80;background:#0d2017;border-color:#166534}[data-theme=dark] .api-method--post{color:#60a5fa;background:#0d1a30;border-color:#1e40af}[data-theme=dark] .api-method--delete{color:#f87171;background:#2d0d14;border-color:#7f1d1d}[data-theme=dark] .api-method--put{color:#fb923c;background:#2d1a00;border-color:#92400e}[data-theme=dark] .stat-card,[data-theme=dark] .api-endpoint,[data-theme=dark] .conn-card{background:var(--paper);border-color:var(--line)}[data-theme=dark] .input{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .input::placeholder{color:#4a5176}[data-theme=dark] .btn-conn{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .btn-conn:hover{background:#2c3354}[data-theme=dark] .modal{background:var(--paper)}[data-theme=dark] .modal-backdrop{background:#000000b3}[data-theme=dark] select.input{background:#20263f}[data-theme=dark] .title,[data-theme=dark] .conn-card__name{color:var(--text)}[data-theme=dark] .auth__card,[data-theme=dark] .solo__card{background:var(--paper);border-color:var(--line)}.analytics-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.range-seg{border:1px solid var(--line);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.range-seg button{font:inherit;background:var(--paper);color:var(--muted);border:0;border-right:1px solid var(--line);cursor:pointer;padding:8px 14px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.range-seg button:last-child{border-right:0}.range-seg button:hover{background:var(--mist);color:var(--text)}.range-seg button.is-active{background:var(--hub);color:#fff;font-weight:600}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=680px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.chart-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 16px 8px;overflow:hidden}.chart-empty{text-align:center;color:var(--muted);font-size:14px;font-family:var(--mono);letter-spacing:.04em;padding:32px 0}.bar-list{flex-direction:column;gap:8px;display:flex}.bar-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;display:grid}.bar-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.bar-track{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.bar-fill{background:var(--hub);border-radius:3px;height:100%;transition:width .25s}.bar-val{font-family:var(--mono);color:var(--muted);text-align:right;min-width:28px;font-size:12px}[data-theme=dark] .range-seg{border-color:var(--line)}[data-theme=dark] .range-seg button{background:var(--paper);color:var(--muted);border-right-color:var(--line)}[data-theme=dark] .range-seg button:hover{color:var(--text);background:#20263f}[data-theme=dark] .chart-card{background:var(--paper);border-color:var(--line)}[data-theme=dark] .bar-track{background:var(--line)}.ai-card .conn-card{max-width:100%}.note-inline--muted{color:var(--muted);font-size:12px;font-weight:400}.summary-panel{border-top:1px solid var(--line);padding-top:28px}.summary-text{white-space:pre-wrap;font-size:14px;line-height:1.5;font-family:var(--body);color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin:0;padding:16px 18px}.summary-history{flex-direction:column;gap:4px;display:flex}.summary-item{border-radius:var(--r-sm);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:13px;transition:background .12s,border-color .12s;display:flex}.summary-item:hover{background:var(--paper);border-color:var(--line);color:var(--text)}.summary-item--active{background:var(--paper);border-color:var(--hub);color:var(--text)}.summary-item__date{font-family:var(--mono);font-size:12px}.summary-item__sep{color:var(--line)}.summary-item__scope{font-weight:500}.summary-item__kind{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:11px}[data-theme=dark] .summary-panel{border-top-color:var(--line)}[data-theme=dark] .summary-text{background:var(--paper);border-color:var(--line);color:var(--text)}[data-theme=dark] .summary-item:hover{border-color:var(--line);background:#20263f}[data-theme=dark] .summary-item--active{border-color:var(--hub);background:#20263f}.report-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.var-legend{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.var-chip{font-family:var(--mono);color:var(--hub);background:var(--mist);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 8px;font-size:12px}[data-theme=dark] .var-chip{border-color:var(--line);color:var(--text);background:#20263f}@media (width<=900px){.app{grid-template-columns:1fr}.rail{height:auto;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.rail--open{transform:translate(0);box-shadow:4px 0 24px #0006}.rail__overlay{z-index:39;background:#00000073;position:fixed;inset:0}.main-col{margin-left:0}.topbar__burger{display:flex}.conn-grid{grid-template-columns:1fr}}.admin-nav-group{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.admin-nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 12px 6px;font-size:11px}.user-table{border-collapse:collapse;width:100%;font-size:13px}.user-table th,.user-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px}.user-table th{color:var(--muted);font-size:12px;font-weight:600}.user-table tbody tr:hover{background:var(--mist)}.badge{background:var(--mist);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge--blocked{color:var(--danger);background:#fcebee;border-color:#f3c9d2}.badge--admin{color:var(--hub-700);background:#ff6a551f;border-color:#ff6a554d}.danger-btn{background:var(--danger);color:#fff;border-color:var(--danger)}.danger-btn:hover{background:#be3950}[data-theme=dark] .badge--blocked{color:#f0879a;background:#d6435b2e;border-color:#d6435b66}.route-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:4px 0 18px;display:flex}.route-filters__item{flex-direction:column;gap:5px;display:flex}.route-filters__item>span{color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:600}.route-filters__item .input{min-width:170px;padding:8px 10px}.route-filters__count{color:var(--muted);align-self:center;margin-left:auto;font-size:12px}.route-list{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.route-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:flex}.route-row:first-child{border-top:0}.route-row:hover{background:color-mix(in srgb, var(--hub) 5%, transparent)}.route-row__dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.route-row__dot--on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}.route-row__dot--wait{background:#e8a13a;box-shadow:0 0 0 3px #e8a13a38}.route-row__dot--off{background:var(--muted)}.route-row__name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:14px;font-weight:600;overflow:hidden}.route-row__state{color:var(--muted);text-align:right;flex:none;width:64px;font-size:12px}.route-row__state--on{color:var(--ok)}.route-row__state--wait{color:#c9852a}.route-row__chk{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.route-row__link{color:var(--muted);cursor:pointer;border:1px solid var(--line);white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;transition:color .1s,border-color .1s,background .1s}.route-row__link:hover{color:var(--hub);border-color:color-mix(in srgb, var(--hub) 45%, var(--line));background:color-mix(in srgb, var(--hub) 8%, transparent)}.route-row__chk input{accent-color:var(--hub)}.route-row__chk.is-on{color:var(--hub);border-color:color-mix(in srgb, var(--hub) 45%, var(--line));background:color-mix(in srgb, var(--hub) 8%, transparent)}.route-row__dept{max-width:150px;color:var(--text);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:6px 8px;font-size:13px}.route-row__toggle{cursor:pointer;border:1px solid var(--line);color:var(--text);background:0 0;border-radius:8px;flex:none;padding:6px 12px;font-size:13px;font-weight:600;transition:all .12s}.route-row__toggle:hover{border-color:var(--hub);color:var(--hub)}.route-row__toggle.is-on{color:var(--muted)}.route-row__del{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;font-size:14px;line-height:1;transition:all .12s}.route-row__del:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--danger) 8%, transparent)}.check--box{cursor:pointer;border:1px solid var(--line);background:color-mix(in srgb, var(--hub) 4%, transparent);color:var(--text);border-radius:10px;align-items:center;gap:10px;margin:4px 0 14px;padding:11px 12px;font-size:14px;display:flex}.check--box input{accent-color:var(--hub);width:16px;height:16px}.check__hint{color:var(--muted);font-size:12px}@media (width<=640px){.route-row{flex-wrap:wrap;gap:8px}.route-row__name{flex-basis:100%}.route-row__state{text-align:left;width:auto}}.cfg-section{margin-top:30px}.cfg-section--first{margin-top:0}.cfg-section .eyebrow{margin-bottom:12px}.cfg-grid{flex-direction:column;gap:16px;max-width:760px;display:flex}.cfg-card{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:20px;display:flex}[data-theme=dark] .cfg-card{border-color:var(--line)}.cfg-card__head{border-bottom:1px solid var(--line);padding-bottom:10px}[data-theme=dark] .cfg-card__head{border-bottom-color:var(--line-ink)}.cfg-card__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.cfg-card__title{color:var(--text);font-size:15px;font-weight:700}.cfg-card__hint{color:var(--muted);font-size:12px}.cfg-card__foot{align-items:center;gap:12px;margin-top:2px;display:flex}.cfg-card__count{color:var(--muted);font-size:12px}.cfg-textarea{resize:vertical;width:100%;min-height:104px;font-size:14px}.cfg-search{width:100%}.gdef-main{align-items:flex-start;gap:16px;display:flex}@media (width<=520px){.gdef-main{flex-direction:column}}.gdef-col{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.gdef-thumb{border:1px dashed var(--line);background:color-mix(in srgb, var(--hub) 5%, transparent);cursor:pointer;width:72px;height:72px;color:var(--muted);border-radius:14px;flex:none;place-items:center;padding:0;font-size:26px;transition:border-color .12s;display:grid;overflow:hidden}.gdef-thumb:hover{border-color:var(--hub)}.gdef-thumb img{object-fit:cover;width:100%;height:100%}.gdef-desc{flex:auto;min-width:0;margin-bottom:0}.link--muted{color:var(--muted)}.role-chips{flex-wrap:wrap;gap:6px;display:flex}.role-chip{color:var(--hub);background:color-mix(in srgb, var(--hub) 10%, transparent);border:1px solid color-mix(in srgb, var(--hub) 40%, var(--line));border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:12px;font-weight:600;display:inline-flex}.role-chip button{color:var(--hub);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:2px;font-size:11px;line-height:1}.role-chip button:hover{background:color-mix(in srgb, var(--hub) 20%, transparent)}.role-list{border:1px solid var(--line);border-radius:10px;flex-direction:column;max-height:260px;display:flex;overflow-y:auto}[data-theme=dark] .role-list{border-color:var(--line-ink)}.role-opt{color:var(--text);cursor:pointer;border-top:1px solid var(--line);align-items:center;gap:9px;padding:8px 11px;font-size:14px;display:flex}[data-theme=dark] .role-opt{border-top-color:var(--line-ink)}.role-opt:first-child{border-top:0}.role-opt:hover{background:color-mix(in srgb, var(--hub) 5%, transparent)}.role-opt input{accent-color:var(--hub)}.role-opt__name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.role-opt__tag{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:5px;flex:none;padding:1px 5px;font-size:10px;font-weight:600}[data-theme=dark] .role-opt__tag{border-color:var(--line-ink)}.inbox{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow);grid-template-columns:300px 1fr;gap:0;height:calc(100vh - 52px - 2*clamp(24px,4vw,40px));min-height:480px;display:grid;overflow:hidden;max-width:none!important}.inbox__list{border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.inbox__list-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:14px 12px 10px;display:flex}.inbox__search{font:inherit;color:var(--text);background:var(--mist);border:1px solid var(--line);border-radius:var(--r-sm);flex:1;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.inbox__search::placeholder{color:#aab0c4}.inbox__search:focus{border-color:var(--hub);box-shadow:var(--ring);outline:none}.inbox__new-btn{font:inherit;color:var(--hub);background:color-mix(in srgb, var(--hub) 10%, transparent);border:1px solid color-mix(in srgb, var(--hub) 35%, var(--line));border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;flex:none;padding:7px 10px;font-size:12px;font-weight:600;transition:background .12s}.inbox__new-btn:hover{background:color-mix(in srgb, var(--hub) 18%, transparent)}.inbox__conv-list{flex:1;overflow-y:auto}.conv-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;min-width:0;padding:11px 14px;transition:background .12s;display:flex}.conv-row:last-child{border-bottom:0}.conv-row:hover{background:color-mix(in srgb, var(--hub) 5%, transparent)}.conv-row.is-active{background:color-mix(in srgb, var(--tg) 10%, transparent);border-left:2px solid var(--tg)}.conv-row.is-active .conv-row__name{color:var(--tg)}.conv-row__avatar{background:var(--tg);color:#fff;text-transform:uppercase;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:grid}.conv-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conv-row__top{align-items:center;gap:6px;display:flex}.conv-row__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.conv-row__time{font-family:var(--mono);color:var(--muted);white-space:nowrap;flex:none;font-size:11px}.conv-row__preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.conv-row__unread{background:var(--tg);color:#fff;min-width:18px;height:18px;font-size:11px;font-weight:700;font-family:var(--mono);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.inbox__thread{flex-direction:column;display:flex;overflow:hidden}.inbox__thread-head{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:10px;padding:12px 16px;display:flex}.inbox__thread-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.inbox__thread-platform{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tg);background:color-mix(in srgb, var(--tg) 12%, transparent);border:1px solid color-mix(in srgb, var(--tg) 35%, transparent);border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.thread{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.thread__empty{color:var(--muted);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.msg-group{flex-direction:column;gap:2px;max-width:72%;display:flex;position:relative}.msg-group--out{align-self:flex-end;align-items:flex-end}.msg-group--in{align-self:flex-start;align-items:flex-start}.msg-sender{color:var(--tg);font-size:11px;font-weight:600;font-family:var(--mono);letter-spacing:.02em;padding:0 4px}.msg-bubble{word-break:break-word;border-radius:14px;max-width:100%;padding:8px 12px;font-size:14px;line-height:1.5}.msg-bubble--in{background:var(--paper);border:1px solid var(--line);color:var(--text);border-bottom-left-radius:4px}.msg-bubble--out{background:var(--tg);color:#fff;border-bottom-right-radius:4px}.msg-meta{font-family:var(--mono);color:var(--muted);padding:0 4px;font-size:10px}.msg-day-sep{justify-content:center;margin:14px 0 10px;display:flex}.msg-day-sep span{color:var(--muted);background:color-mix(in srgb, var(--muted) 14%, transparent);text-transform:capitalize;border-radius:12px;padding:3px 12px;font-size:12px;font-weight:600}.inbox__composer{border-top:1px solid var(--line);background:var(--paper);align-items:flex-end;gap:8px;padding:12px 14px;display:flex}.inbox__draft{font:inherit;color:var(--text);background:var(--mist);border:1px solid var(--line);border-radius:var(--r-sm);resize:none;flex:1;min-height:40px;max-height:120px;padding:10px 12px;font-size:14px;line-height:1.45;transition:border-color .15s,box-shadow .15s}.inbox__draft::placeholder{color:#aab0c4}.inbox__draft:focus{border-color:var(--tg);box-shadow:0 0 0 3px color-mix(in srgb, var(--tg) 25%, transparent);outline:none}.inbox__send{font:inherit;color:#fff;background:var(--tg);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px -4px color-mix(in srgb, var(--tg) 50%, transparent);border:0;flex:none;padding:10px 16px;font-size:14px;font-weight:600;transition:background .12s,transform 40ms}.inbox__send:hover{background:color-mix(in srgb, var(--tg) 85%, #000)}.inbox__send:active{transform:translateY(1px)}.inbox__send:disabled{opacity:.55;cursor:default;box-shadow:none}.inbox__new-form{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--tg) 5%, var(--paper));flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.inbox__new-input{font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);flex:1;min-width:160px;padding:9px 11px;font-size:14px;transition:border-color .15s,box-shadow .15s}.inbox__new-input::placeholder{color:#aab0c4}.inbox__new-input:focus{border-color:var(--tg);box-shadow:0 0 0 3px color-mix(in srgb, var(--tg) 25%, transparent);outline:none}.inbox__new-resolve{font:inherit;color:#fff;background:var(--tg);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:0;padding:9px 14px;font-size:13px;font-weight:600;transition:background .12s}.inbox__new-resolve:hover{background:color-mix(in srgb, var(--tg) 85%, #000)}.inbox__new-resolve:disabled{opacity:.55;cursor:default}.inbox__new-cancel{font:inherit;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:9px 12px;font-size:13px}.inbox__new-cancel:hover{border-color:var(--hub);color:var(--hub)}.inbox__new-error{color:var(--danger);flex-basis:100%;font-size:12px}.inbox__placeholder{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.pinned-banner{background:color-mix(in srgb, var(--tg) 8%, var(--paper));border-bottom:1px solid color-mix(in srgb, var(--tg) 20%, var(--line));cursor:pointer;align-items:center;gap:8px;padding:7px 14px;transition:background .12s;display:flex}.pinned-banner:hover{background:color-mix(in srgb, var(--tg) 14%, var(--paper))}.pinned-banner__icon{flex:none;font-size:14px}.pinned-banner__text{flex-direction:column;gap:1px;min-width:0;display:flex}.pinned-banner__label{letter-spacing:.06em;text-transform:uppercase;color:var(--tg);font-size:10px;font-weight:700;font-family:var(--mono)}.pinned-banner__preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.reply-quote{border-left:3px solid var(--tg);cursor:pointer;background:color-mix(in srgb, var(--tg) 10%, transparent);border-radius:4px;max-width:100%;margin-bottom:4px;padding:3px 8px}.reply-quote--out{background:#ffffff1f;border-left-color:#ffffff8c}.reply-quote__sender{color:var(--tg);font-size:11px;font-weight:700;font-family:var(--mono);margin-bottom:1px;display:block}.reply-quote--out .reply-quote__sender{color:#ffffffe6}.reply-quote__text{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.reply-quote--out .reply-quote__text{color:#fffc}.reply-banner{background:color-mix(in srgb, var(--tg) 8%, var(--paper));border-top:1px solid color-mix(in srgb, var(--tg) 20%, var(--line));align-items:center;gap:8px;padding:6px 14px;font-size:12px;display:flex}.reply-banner__label{color:var(--tg);white-space:nowrap;font-weight:600}.reply-banner__text{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.reply-banner__cancel{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;font-size:16px;line-height:1}.reply-banner__cancel:hover{color:var(--danger)}.reaction-chip{cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 4px;font-size:16px;line-height:1;transition:transform .1s;display:inline-block}.reaction-chip:hover{transform:scale(1.2)}.msg-pin-marker{opacity:.7;margin-right:4px;font-size:12px}.msg-group--pinned .msg-bubble{border:1px solid color-mix(in srgb, var(--tg) 35%, var(--line))}.msg-group--pinned .msg-bubble--out{border-color:#ffffff40}.msg-deleted{color:var(--muted);font-size:13px;font-style:italic}.msg-edited{color:var(--muted);margin-left:5px;font-size:10px}.msg-bubble--out .msg-edited{color:#fff9}.msg-text{white-space:pre-wrap;word-break:break-word}.msg-foot{align-items:center;gap:4px;display:flex}.msg-group--out .msg-foot{flex-direction:row-reverse}.msg-actions{z-index:20;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s;position:absolute;top:2px}.msg-group--out .msg-actions{left:3px}.msg-group--in .msg-actions{right:3px}.msg-group:hover .msg-actions,.msg-group:focus-within .msg-actions,.msg-actions:hover{opacity:1;visibility:visible;pointer-events:auto}.msg-actions__toggle{width:22px;height:22px;color:var(--muted);background:var(--paper);border:1px solid var(--line);cursor:pointer;opacity:.9;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:opacity .1s;display:flex}.msg-actions__toggle:hover{opacity:1}.msg-menu{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);z-index:100;white-space:nowrap;min-width:140px;padding:4px 0;position:absolute;top:calc(100% + 4px)}.msg-menu--out{left:auto;right:0}.msg-menu--in{left:0;right:auto}.msg-menu__item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:13px;transition:background .1s;display:block}.msg-menu__item:hover{background:color-mix(in srgb, var(--hub) 7%, transparent)}.msg-menu__item--danger{color:var(--danger)}.msg-menu__item--danger:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.msg-emoji-picker{border-top:1px solid var(--line);gap:4px;padding:6px 8px;display:flex}.msg-emoji-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px;font-size:18px;transition:background .1s}.msg-emoji-btn:hover,.msg-emoji-btn.is-active{background:color-mix(in srgb, var(--tg) 15%, transparent);border-color:color-mix(in srgb, var(--tg) 30%, transparent)}.msg-edit-form{flex-direction:column;gap:6px;max-width:400px;display:flex}.msg-edit-input{font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--tg);border-radius:var(--r-sm);resize:vertical;min-height:60px;box-shadow:0 0 0 3px color-mix(in srgb, var(--tg) 25%, transparent);outline:none;padding:8px 10px;font-size:14px}.msg-edit-actions{gap:6px;display:flex}.msg-edit-save{font:inherit;color:#fff;background:var(--tg);border-radius:var(--r-sm);cursor:pointer;border:0;padding:6px 12px;font-size:13px;font-weight:600}.msg-edit-save:hover{background:color-mix(in srgb, var(--tg) 85%, #000)}.msg-edit-cancel{font:inherit;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:6px 10px;font-size:13px}.msg-edit-cancel:hover{border-color:var(--hub);color:var(--hub)}.media-bubble{margin-bottom:4px}.voice{align-items:center;gap:9px;min-width:200px;max-width:260px;display:flex}.voice__btn{background:var(--tg);color:#fff;cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:12px;line-height:1;display:flex}.voice__btn:hover{filter:brightness(1.08)}.voice__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.voice__track{background:color-mix(in srgb, var(--muted) 35%, transparent);cursor:pointer;border-radius:2px;height:4px;overflow:hidden}.voice__fill{background:var(--tg);border-radius:2px;height:100%}.voice__time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.msg-bubble--out .voice__time{color:#ffffffbf}.media-bubble--image .media-img{object-fit:cover;cursor:pointer;border-radius:8px;max-width:240px;max-height:200px;display:block}.media-bubble--video .media-video{background:#000;border-radius:8px;max-width:280px;max-height:320px;display:block}.media-dl-link{color:var(--tg);word-break:break-all;align-items:center;gap:5px;font-size:13px;text-decoration:none;display:inline-flex}.media-dl-link:hover{text-decoration:underline}.msg-bubble--out .media-dl-link{color:#ffffffe6}.lightbox{z-index:300;cursor:zoom-out;background:#0a0c14e0;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.lightbox__img{cursor:zoom-out;object-fit:contain;border-radius:10px;max-width:min(90vw,1100px);max-height:90vh;box-shadow:0 20px 60px #00000080}.lightbox__close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;place-items:center;width:40px;height:40px;font-size:32px;line-height:1;transition:background .12s;display:grid;position:absolute;top:16px;right:20px}.lightbox__close:hover{background:#ffffff38}.inbox__attach-btn,.inbox__record-btn{border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;color:var(--muted);background:0 0;flex:none;padding:8px 9px;font-size:18px;line-height:1;transition:border-color .12s,color .12s,background .12s}.inbox__attach-btn:hover,.inbox__record-btn:hover{border-color:var(--tg);color:var(--tg)}.inbox__attach-btn:disabled,.inbox__record-btn:disabled{opacity:.5;cursor:default}.inbox__record-btn.is-recording{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);animation:1s infinite pulse-recording}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.55}}[data-theme=dark] .inbox{border-color:var(--line);background:var(--paper)}[data-theme=dark] .inbox__list{border-right-color:var(--line)}[data-theme=dark] .inbox__list-head{border-bottom-color:var(--line)}[data-theme=dark] .inbox__search{border-color:var(--line);background:#20263f}[data-theme=dark] .inbox__search::placeholder{color:#4a5176}[data-theme=dark] .inbox__thread-head{border-bottom-color:var(--line);background:var(--paper)}[data-theme=dark] .inbox__composer{border-top-color:var(--line);background:var(--paper)}[data-theme=dark] .inbox__draft{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .inbox__draft::placeholder{color:#4a5176}[data-theme=dark] .msg-bubble--in{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .conv-row{border-bottom-color:var(--line)}[data-theme=dark] .conv-row.is-active{background:color-mix(in srgb, var(--tg) 14%, var(--paper))}[data-theme=dark] .inbox__new-form{background:color-mix(in srgb, var(--tg) 8%, var(--paper));border-bottom-color:var(--line)}[data-theme=dark] .inbox__new-input{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .inbox__new-cancel{border-color:var(--line)}@media (width<=680px){.inbox{grid-template-columns:1fr;height:auto;min-height:0}.inbox__list{border-right:0;border-bottom:1px solid var(--line);max-height:280px}.inbox__thread{min-height:400px}}.inbox__kind-tabs{border-bottom:1px solid var(--line)}.inbox__pl-tabs{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:0;padding:6px 10px;display:flex}.inbox__pl-tab{font:inherit;color:var(--muted);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-right:0;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.inbox__pl-tab:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.inbox__pl-tab:last-child{border-right:1px solid var(--line);border-radius:0 var(--r-sm) var(--r-sm) 0}.inbox__pl-tab:hover{background:color-mix(in srgb, var(--hub) 7%, transparent);color:var(--text)}.inbox__pl-tab.is-active{background:var(--hub);color:#fff;border-color:var(--hub)}.inbox__pl-tab.is-active+.inbox__pl-tab{border-left-color:var(--hub)}.conv-row__meta-row{align-items:center;gap:4px;min-width:0;display:flex}.conv-row__meta-row .conv-row__preview{flex:1}.conv-row__group-mark{font-size:12px}.inbox__new-pl-row{flex-shrink:0;flex-basis:100%;gap:6px;display:flex}.inbox__new-pl-btn{font:inherit;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:border-color .12s,color .12s;display:inline-flex}.inbox__new-pl-btn:hover{border-color:var(--hub);color:var(--text)}.inbox__new-pl-btn.is-active{border-color:var(--hub);color:var(--hub);background:color-mix(in srgb, var(--hub) 8%, transparent);font-weight:600}.msg__ticks{opacity:.7;margin-left:4px;font-size:11px}.msg__ticks--read{color:var(--tg);opacity:1}[data-theme=dark] .inbox__pl-tabs{background:var(--paper);border-bottom-color:var(--line)}[data-theme=dark] .inbox__pl-tab{border-color:var(--line);color:var(--muted);background:0 0}[data-theme=dark] .inbox__pl-tab:hover{color:var(--text);background:#20263f}[data-theme=dark] .inbox__new-pl-btn{border-color:var(--line);color:var(--muted);background:#20263f}[data-theme=dark] .inbox__new-pl-btn.is-active{background:color-mix(in srgb, var(--hub) 12%, transparent);border-color:var(--hub);color:var(--hub)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 55%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--muted) 70%, transparent);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}.inbox__search-toggle{border-radius:var(--r-sm);cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;flex:none;padding:4px 6px;font-size:15px;line-height:1;transition:background .12s,color .12s,border-color .12s}.inbox__search-toggle:hover{background:var(--mist);color:var(--text);border-color:var(--line)}.inbox__search-toggle.is-active{background:color-mix(in srgb, var(--tg) 12%, transparent);color:var(--tg);border-color:color-mix(in srgb, var(--tg) 35%, transparent)}.inbox__delete-group{border-radius:var(--r-sm);cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;flex:none;padding:4px 6px;font-size:15px;line-height:1;transition:background .12s,color .12s,border-color .12s}.inbox__delete-group:hover:not(:disabled){background:color-mix(in srgb, var(--danger,#e5484d) 12%, transparent);color:var(--danger,#e5484d);border-color:color-mix(in srgb, var(--danger,#e5484d) 35%, transparent)}.inbox__delete-group:disabled{opacity:.5;cursor:default}.inbox__chat-search{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--tg) 5%, var(--paper));align-items:center;gap:8px;padding:8px 14px;display:flex}.inbox__chat-search-input{font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);flex:1;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.inbox__chat-search-input::placeholder{color:#aab0c4}.inbox__chat-search-input:focus{border-color:var(--tg);box-shadow:0 0 0 3px color-mix(in srgb, var(--tg) 25%, transparent);outline:none}.inbox__chat-search-count{font-family:var(--mono);color:var(--muted);white-space:nowrap;flex:none;font-size:11px}.inbox__chat-search-close{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;font-size:18px;line-height:1}.inbox__chat-search-close:hover{color:var(--danger)}.msg-highlight{color:inherit;background:#ffd50073;border-radius:2px;padding:0 1px}.msg-bubble--out .msg-highlight{background:#ffffff59}.msg-group--search-focus>.msg-bubble{outline:2px solid var(--tg);outline-offset:2px}.thread__loading-older,.thread__no-more{text-align:center;color:var(--muted);font-size:12px;font-family:var(--mono);letter-spacing:.04em;-webkit-user-select:none;user-select:none;padding:6px 0 2px}.forward-modal{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;width:100%;max-width:400px;max-height:80vh;display:flex;overflow:hidden}.forward-modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.forward-modal__title{color:var(--text);font-size:15px;font-weight:600}.forward-modal__search{font:inherit;color:var(--text);background:var(--mist);border:1px solid var(--line);border-radius:var(--r-sm);margin:10px 14px 4px;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.forward-modal__search::placeholder{color:#aab0c4}.forward-modal__search:focus{border-color:var(--tg);box-shadow:0 0 0 3px color-mix(in srgb, var(--tg) 25%, transparent);outline:none}.forward-modal__list{flex:1;padding:6px 0 10px;overflow-y:auto}.forward-modal__item{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:10px 16px;transition:background .1s;display:flex}.forward-modal__item:hover{background:color-mix(in srgb, var(--tg) 7%, transparent)}.forward-modal__name{color:var(--text);font-size:14px;font-weight:500}.forward-modal__preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}[data-theme=dark] .inbox__chat-search{background:color-mix(in srgb, var(--tg) 8%, var(--paper));border-bottom-color:var(--line)}[data-theme=dark] .inbox__chat-search-input{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .inbox__chat-search-input::placeholder{color:#4a5176}[data-theme=dark] .inbox__search-toggle:hover{border-color:var(--line);background:#20263f}[data-theme=dark] .inbox__search-toggle.is-active{background:color-mix(in srgb, var(--tg) 15%, transparent)}[data-theme=dark] .forward-modal{background:var(--paper)}[data-theme=dark] .forward-modal__head{border-bottom-color:var(--line)}[data-theme=dark] .forward-modal__search{border-color:var(--line);color:var(--text);background:#20263f}[data-theme=dark] .forward-modal__item:hover{background:color-mix(in srgb, var(--tg) 10%, transparent)}
