:root{
  --bg:#090c11;--rail:#0b0f15;--stage:#0d1117;--stage-b:#161b24;--card:#151a23;--card-b:#222936;--card-h:#303949;
  --pop:#161b24;--pop-b:#262d3a;--tx:#e4e7ee;--mu:#8b93a5;--fa:#5d6577;--ico:#b9c0d0;--ac:#4c8dff;--ac-bg:#13233f;--ac-b:#244a85;
  --green:#34d399;--amber:#f5a524;--red:#fb7185;--violet:#a78bfa;--sky:#60a5fa;
  --ease:cubic-bezier(.2,.8,.2,1);color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--tx);font:13px/20px system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-weight:500}
i.ti{font-size:20px;line-height:1}
.sp{flex:1}.mu{color:var(--mu)}.fa{color:var(--fa)}.num{font-variant-numeric:tabular-nums}
#app{display:grid;grid-template-columns:64px 1fr;height:100vh}
.rail{background:var(--rail);border-right:1px solid var(--stage-b);display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 0}
.logo{width:36px;height:36px;border-radius:12px;background:var(--ac);display:grid;place-items:center;font-weight:500;color:#fff;margin-bottom:16px;text-transform:uppercase}
.rb{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--mu);transition:background .15s,color .15s}
.rb:hover{background:#141a24;color:var(--tx)}
.rb.on{background:var(--ac-bg);color:var(--ac)}
.rb .bd{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:8px;background:var(--ac);color:#fff;font-size:10px;line-height:16px;text-align:center;padding:0 4px}
.rb[data-tip]:hover::after,.logo[data-tip]:hover::after{content:attr(data-tip);position:absolute;left:52px;top:50%;transform:translateY(-50%);background:var(--pop);border:1px solid var(--pop-b);padding:4px 8px;border-radius:8px;white-space:nowrap;font-size:12px;color:var(--tx);z-index:5;pointer-events:none;text-transform:none;font-weight:400}
.logo{position:relative}
.av{border-radius:50%;background:#2a3040;color:#c3c9d8;display:grid;place-items:center;font-size:11px;flex:none}
.rail .av{width:32px;height:32px}
.av.own{width:20px;height:20px;font-size:10px;color:#e4e7ee}
.av.none{background:transparent;border:1px dashed var(--card-h);color:var(--fa)}
main{display:flex;flex-direction:column;min-width:0;height:100vh}
.top{display:flex;align-items:center;gap:16px;padding:12px 24px;height:64px;flex:none}
.top h1{font-size:16px;line-height:24px;min-width:120px}
.sbtn{display:flex;align-items:center;gap:12px;width:min(420px,40vw);height:40px;padding:0 12px;border-radius:12px;background:var(--stage);border:1px solid var(--stage-b);color:var(--fa);text-align:left;transition:border-color .15s,background .15s}
.sbtn:hover{border-color:var(--card-h);background:#0f141b}
.kbd{font:11px/16px ui-monospace,monospace;color:var(--mu);border:1px solid var(--pop-b);border-radius:6px;padding:0 6px;background:#10151c}
.ib{position:relative;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:var(--mu);transition:background .15s,color .15s;flex:none}
.ib:hover{background:#171d27;color:var(--tx)}
.ib i{font-size:20px}
.ib .dt{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--ac);border:2px solid var(--bg)}
.btn{white-space:nowrap;flex:none;height:36px;padding:0 16px;border-radius:12px;background:var(--ac);color:#fff;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s}
.btn:hover{background:#6ba0ff}.btn:active{transform:scale(.98)}
.btn i{font-size:16px}
.btn.gh{background:#171d27;color:var(--tx);border:1px solid var(--card-b)}
.btn.gh:hover{background:#1c2330}
.btn.dng{background:#3a1820;color:var(--red)}.btn.dng:hover{background:#4a1c27}
.btn.sm{height:32px;padding:0 12px;border-radius:10px}.btn.sm i{font-size:16px}
.banner{display:flex;align-items:center;gap:12px;margin:0 24px 12px;padding:8px 8px 8px 16px;border-radius:12px;border:1px solid;animation:vin .25s var(--ease)}
.banner.warn{background:#1f1a0d;border-color:#3d3416;color:#e6d8a8}
.banner.dng{background:#2a1218;border-color:#4a1c27;color:#fca5b3}
.banner.inf{background:#0f1a2e;border-color:#1f3a66;color:#a9c8f5}
.views{flex:1;min-height:0;position:relative}
.view{position:absolute;inset:0;display:none;flex-direction:column;min-height:0}
.view.on{display:flex;animation:vin .28s var(--ease)}
@keyframes vin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bar{display:flex;align-items:center;gap:12px;padding:0 24px 12px}
.seg{display:flex;gap:4px;background:var(--stage);border:1px solid var(--stage-b);border-radius:12px;padding:4px}
.seg button{padding:0 12px;border-radius:8px;color:var(--mu);line-height:24px;white-space:nowrap}
.seg button.on{background:var(--card);color:var(--tx)}
#cseg button{padding:0 6px}
.plb{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;border-radius:10px;border:1px solid var(--card-b);background:var(--stage)}
.plb:hover{background:#101620}
.plb i{font-size:16px;color:var(--ico)}
.board{flex:1;min-height:0;display:grid;gap:12px;padding:0 24px 24px;overflow:auto}
.stage{background:color-mix(in srgb,var(--c) 6%,var(--stage));border:1px solid color-mix(in srgb,var(--c) 22%,var(--stage-b));border-top:3px solid var(--c);border-radius:20px;padding:8px;display:flex;flex-direction:column;min-height:0;transition:background .15s,border-color .15s}
.stage.over{background:#0d1626;border-color:var(--ac-b)}
.sh{display:flex;align-items:center;gap:8px;padding:0 4px 0 12px;height:40px;margin-bottom:8px;border-radius:12px;background:color-mix(in srgb,var(--c) 18%,transparent)}
.sh .dot{width:10px;height:10px;border-radius:50%;background:var(--c)}
.sh h4{font-size:13px;color:color-mix(in srgb,var(--c) 55%,#fff)}
.cnt{font-size:12px;color:var(--fa);background:#121823;border-radius:8px;padding:0 8px}
.ssum{display:flex;align-items:center;gap:8px;padding:0 8px 8px;color:var(--fa);font-size:12px;border-bottom:1px solid var(--stage-b);margin-bottom:8px}
.ssum i{font-size:14px;color:var(--violet)}
.cards{display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1;min-height:60px}
.card{background:var(--card);border:1px solid var(--card-b);border-radius:12px;padding:10px 12px;cursor:grab;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--card-h)}
.card.drag{opacity:.3}
.card.pop{animation:pop .45s var(--ease)}
@keyframes pop{0%{border-color:var(--ac)}100%{border-color:var(--card-b)}}
.ph{border:1.5px dashed var(--ac-b);background:#0d1626;border-radius:12px;height:0;opacity:0;animation:phin .18s var(--ease) forwards;flex:none}
@keyframes phin{to{height:72px;opacity:1}}
.cards.dragging .empty{display:none}
.src{display:flex;align-items:center;gap:8px;min-width:0}
.chip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:12px;line-height:18px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co{color:var(--mu);font-size:12px;margin-top:-4px}
.ft{display:flex;align-items:center;gap:8px}
.tag{display:inline-flex;align-items:center;gap:8px;color:var(--mu);font-size:12px}
.tag:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.empty{color:var(--fa);font-size:12px;text-align:center;padding:24px 8px;border:1px dashed var(--stage-b);border-radius:12px}
.pop-menu{position:fixed;z-index:60;min-width:216px;max-width:380px;background:var(--pop);border:1px solid var(--pop-b);border-radius:14px;padding:4px;box-shadow:0 12px 32px rgba(0,0,0,.45);animation:mpop .14s var(--ease)}
.pop-menu.pad{padding:16px;min-width:280px}
@keyframes mpop{from{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}
.evb{display:inline-flex;align-items:center;gap:8px}
.cgl{color:var(--fa);font-size:12px;padding:24px 12px 8px}.cgl.first{padding-top:0}
.cdiv{height:1px;background:var(--stage-b);margin:16px 0 0}.cdiv+.cgl{padding-top:16px}
.recbar{display:none;align-items:center;gap:12px;padding:4px 8px;height:56px}
.comp.rec .recbar{display:flex}.comp.rec textarea,.comp.rec .rw{display:none}
.rdot{width:10px;height:10px;border-radius:50%;background:var(--red);animation:rp 1s infinite}
@keyframes rp{50%{opacity:.3}}
.rwv{display:flex;align-items:center;gap:3px;height:24px}.rwv i{width:3px;border-radius:2px;background:var(--red);animation:wvb .8s ease-in-out infinite}
@keyframes wvb{0%,100%{height:4px}50%{height:20px}}
.rwv i:nth-child(3n){animation-delay:.2s}.rwv i:nth-child(3n+1){animation-delay:.4s}
.aud{display:flex;align-items:center;gap:12px;min-width:230px}
.aud .pl{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}
.aud .pl i{font-size:16px}
.wv{display:flex;align-items:center;gap:2px;height:24px;flex:1}.wv i{width:3px;border-radius:2px;background:rgba(255,255,255,.28);transition:background .1s}.wv i.on{background:#fff}
.pv{position:absolute;inset:0;display:grid;place-items:center;color:#fff}.pv i{font-size:20px;background:rgba(0,0,0,.5);border-radius:50%;padding:6px}
.qp{display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;min-width:0;animation:qin .12s var(--ease)}
@keyframes qin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.qh{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:56px;border-radius:10px;color:var(--tx);font-size:12px;transition:background .15s}
.qh:hover:not(:disabled){background:#1c2330}.qh i{font-size:20px;color:var(--ac)}.qh:disabled{opacity:.4;cursor:default}
.qh+.qh{border-left:1px solid var(--pop-b);border-radius:0 10px 10px 0}.qh:first-child{border-radius:10px 0 0 10px}
.mi{display:flex;align-items:center;gap:12px;width:100%;min-height:36px;padding:0 12px;border-radius:10px;color:var(--tx);text-align:left;white-space:nowrap}
.mi:hover{background:#1c2330}
.mi i{font-size:20px;color:var(--mu)}
.mi:disabled{opacity:.5;cursor:default}.mi:disabled:hover{background:none}
.mi.dng,.mi.dng i{color:var(--red)}
.mi .sw{width:12px;height:12px;border-radius:50%}
.msep{height:1px;background:var(--pop-b);margin:4px 8px}
.mlab{padding:4px 12px;color:var(--fa);font-size:12px}
.scrim{position:fixed;inset:0;background:rgba(3,5,8,.62);z-index:50;display:grid;place-items:center;animation:fade .18s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.scrim.out{animation:fadeo .14s ease forwards}
@keyframes fadeo{to{opacity:0}}
.modal{background:var(--pop);border:1px solid var(--pop-b);border-radius:20px;width:min(440px,92vw);max-height:92vh;overflow:auto;padding:24px;box-shadow:0 24px 64px rgba(0,0,0,.5);animation:mup .22s var(--ease)}
.modal.wide{width:min(640px,94vw)}
@keyframes mup{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.modal h3{font-size:16px;line-height:24px;margin-bottom:4px}
.modal .lead{color:var(--mu);margin-bottom:16px}
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.fld label{color:var(--mu);font-size:12px;display:flex;align-items:center;gap:8px}
.fld label i,.kv .k i{font-size:16px;color:var(--ico)}
i.si{font-size:16px;vertical-align:-4px;color:inherit}
.inp,.sel,textarea.inp{height:36px;border-radius:10px;background:#0d1117;border:1px solid var(--card-b);padding:0 12px;width:100%;outline:none;transition:border-color .15s}
textarea.inp{height:96px;padding:8px 12px;resize:vertical}
.inp:focus,.sel:focus{border-color:var(--ac)}
.err{color:var(--red);font-size:12px;min-height:16px}
.mact{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.search{width:min(880px,94vw);height:min(600px,86vh);padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:24px}
.s-in{display:flex;align-items:center;gap:12px;padding:0 24px;height:64px;border-bottom:1px solid var(--pop-b);flex:none}
.s-in i{color:var(--mu)}
.s-in input{flex:1;background:none;border:0;outline:none;font-size:16px;height:100%}
.s-body{flex:1;min-height:0;display:grid;grid-template-columns:200px 1fr}
.s-f{border-right:1px solid var(--pop-b);padding:12px;display:flex;flex-direction:column;gap:4px}
.s-f button{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;border-radius:10px;color:var(--mu);text-align:left;transition:background .15s}
.s-f button:hover{background:#1a212c}
.s-f button.on{background:var(--ac-bg);color:var(--ac)}
.s-f button i{font-size:18px}
.s-f .n{margin-left:auto;font-size:12px;color:var(--fa)}
.s-r{overflow:auto;padding:12px}
.s-g{padding:8px 12px 4px;color:var(--fa);font-size:12px}
.s-i{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border-radius:12px;text-align:left}
.s-i.act{background:#1a212c}
.s-i .ic{width:32px;height:32px;border-radius:10px;background:#10151c;display:grid;place-items:center;flex:none}
.s-i .ic i{font-size:18px}
.s-i .t{min-width:0;flex:1}
.s-i .t b{font-weight:400;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-i .t span{color:var(--mu);font-size:12px}
.s-i .go{color:var(--fa);font-size:12px;opacity:0;transition:opacity .15s}
.s-i.act .go{opacity:1}
mark{background:#1e3a6e;color:#cfe0ff;border-radius:4px;padding:0 2px}
.s-ft{display:flex;gap:16px;padding:0 24px;height:40px;align-items:center;border-top:1px solid var(--pop-b);color:var(--fa);font-size:12px;flex:none}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--pop);border-left:1px solid var(--pop-b);z-index:40;transform:translateX(100%);transition:transform .3s var(--ease);display:flex;flex-direction:column}
.drawer.on{transform:none}
.dh{display:flex;align-items:center;gap:8px;padding:16px 16px 16px 24px;border-bottom:1px solid var(--pop-b)}
.dh h3{font-size:16px;line-height:24px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db{padding:24px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:24px}
.kv{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center}
.kv .k{color:var(--mu);font-size:12px;display:flex;align-items:center;gap:8px}
.sect{border-top:1px solid var(--pop-b);padding-top:16px}
.sect h4{font-size:12px;color:var(--mu);margin-bottom:16px}
.tl{list-style:none}
.tl li{position:relative;padding:0 0 16px 24px}
.tl li:before{content:"";position:absolute;left:3px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 3px var(--pop)}
.tl li:after{content:"";position:absolute;left:7.5px;top:16px;bottom:-6px;width:1px;background:var(--pop-b)}
.tl li:last-child{padding-bottom:0}.tl li:last-child:after{display:none}
.tl li.old:before{background:#3a4254}
.tl b{display:block;font-weight:400;color:var(--tx)}
.tl span{color:var(--fa);font-size:12px}
.chat{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr) 340px;border-top:1px solid var(--stage-b)}
.cl{border-right:1px solid var(--stage-b);display:flex;flex-direction:column;min-height:0;background:var(--rail)}
.cl-h{padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px}
.cl-l{overflow:auto;flex:1}
.ci{display:flex;gap:12px;padding:12px 16px;border-left:2px solid transparent;cursor:pointer;transition:background .15s;width:100%;text-align:left}
.ci:hover{background:#0f141b}
.ci.on{background:#0f1622;border-left-color:var(--ac)}
.ci .av{width:36px;height:36px;position:relative;font-size:13px}
.ci .av i.cb{position:absolute;right:-4px;bottom:-4px;font-size:16px;background:var(--rail);border-radius:50%;color:var(--ico)}
.ci .t{min-width:0;flex:1}
.ci .r1{display:flex;gap:8px}
.ci .r1 span{color:var(--fa);font-size:12px}
.ci p{color:var(--mu);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ub{background:var(--ac);color:#fff;border-radius:8px;font-size:11px;padding:0 6px;line-height:16px;height:16px;align-self:center}
.th{display:flex;flex-direction:column;min-height:0;background:var(--bg)}
.th-h{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--stage-b);height:64px;flex:none}
.th-h .av{font-size:13px}
.msgs{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:8px}
.b{max-width:68%;padding:8px 12px;border-radius:14px;animation:bin .25s var(--ease)}
@keyframes bin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.b small{display:block;font-size:11px;color:var(--fa);margin-top:4px}
.b.c{background:#161c26;align-self:flex-start;border-bottom-left-radius:4px}
.b.me{background:#17315c;align-self:flex-end;border-bottom-right-radius:4px}
.b.me small{color:#8fb0e6}
.b.note{background:#221d10;border:1px solid #3d3416;color:#e6d8a8;align-self:flex-end}
.b.note small{color:#a89a68}
.b.ai{background:#1c1832;border:1px solid #3a3166;align-self:flex-end;border-bottom-right-radius:4px}
.fcard{display:flex;gap:12px;align-items:center;background:rgba(0,0,0,.22);border-radius:10px;padding:8px;cursor:pointer;margin:-2px 0 4px;transition:background .15s}
.fcard:hover{background:rgba(0,0,0,.34)}
.fcard .i{min-width:0}.fcard .i b{font-weight:400;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.fcard .i span{font-size:12px;opacity:.7}
.thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;position:relative;background:#0d1117;flex:none}
.thumb.big{width:100%;height:320px;border-radius:12px}
.thumb .sky{position:absolute;inset:0;background:#23406f}
.thumb .sun{position:absolute;right:18%;top:16%;width:22%;aspect-ratio:1;border-radius:50%;background:#f5c26b}
.thumb .m1{position:absolute;left:-10%;bottom:0;width:70%;height:55%;background:#16294a;clip-path:polygon(0 100%,50% 0,100% 100%)}
.thumb .m2{position:absolute;left:30%;bottom:0;width:80%;height:40%;background:#0f1d36;clip-path:polygon(0 100%,45% 0,100% 100%)}
.thumb.pdf{background:#e9ebf0;display:flex;flex-direction:column;gap:6%;padding:14% 16%;align-items:stretch}
.thumb.pdf i{display:block;height:6%;background:#b7bdc9;border-radius:2px}.thumb.pdf i:first-child{background:#4c8dff;width:50%;height:9%}.thumb.pdf i:nth-child(4){width:70%}
.thumb.gen{display:grid;place-items:center;color:var(--ico)}
.sys{align-self:center;color:var(--fa);font-size:12px;background:#0e131a;border-radius:10px;padding:0 12px}
.typ{display:flex;gap:4px;padding:12px 16px;align-self:flex-start;background:#161c26;border-radius:14px}
.typ i{width:6px;height:6px;border-radius:50%;background:var(--mu);animation:tp 1s infinite}
.typ i:nth-child(2){animation-delay:.15s}.typ i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.draft{margin:0 24px 8px;background:#161230;border:1px solid #3a3166;border-radius:16px;padding:12px 16px;animation:bin .3s var(--ease)}
.draft .r{display:flex;align-items:center;gap:8px;color:var(--violet);font-size:12px;margin-bottom:8px}
.draft p{margin-bottom:12px}
.comp{margin:0 24px 24px;background:var(--stage);border:1px solid var(--stage-b);border-radius:16px;padding:8px;transition:border-color .15s;flex:none}
.comp:focus-within{border-color:var(--ac-b)}
.comp .tabs{display:flex;gap:4px;margin-bottom:4px;align-items:center;flex-wrap:wrap}
.comp .tabs>button.t{padding:0 12px;border-radius:8px;color:var(--mu);line-height:28px}
.comp .tabs>button.t.on{background:var(--card);color:var(--tx)}
.comp .tabs>button.t.on.nt{background:#221d10;color:#e6d8a8}
.vbtn span{max-width:160px;overflow:hidden;text-overflow:ellipsis}
.vbtn{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 8px 0 12px;border-radius:8px;border:1px solid var(--card-b);background:#0f141b;white-space:nowrap}
.vbtn:hover{background:#141a24}.vbtn i{font-size:16px;color:var(--ico)}
.comp textarea{width:100%;background:none;border:0;outline:none;resize:none;height:56px;padding:4px 8px}
.rw{display:flex;align-items:center;gap:8px}
.rw>.t{flex:1;min-width:0}
.rw>.t span{display:block;color:var(--mu);font-size:12px}
.cp{border-left:1px solid var(--stage-b);overflow:auto;background:var(--rail);padding:16px;display:flex;flex-direction:column;gap:8px}
.cp .big{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0;text-align:center}
.cp .big .av{width:56px;height:56px;font-size:16px}
.acc{border-radius:12px;background:var(--stage);border:1px solid var(--stage-b)}
.acc>button{display:flex;align-items:center;width:100%;height:40px;padding:0 12px;gap:8px}
.acc>button i{font-size:16px;color:var(--mu);transition:transform .2s var(--ease)}
.acc.open>button i{transform:rotate(90deg)}
.acc .ab{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s var(--ease)}
.acc.open .ab{grid-template-rows:1fr}
.acc .ab>div{overflow:hidden}
.acc .ab .in{padding:0 12px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:12px;color:var(--mu)}
.page{flex:1;min-height:0;overflow:auto;padding:0 24px 24px}
.tbl{width:100%;border-collapse:collapse;background:var(--stage);border:1px solid var(--stage-b);border-radius:16px;overflow:hidden}
.tbl th{font-weight:400;text-align:left;color:var(--fa);font-size:12px;padding:12px 16px;border-bottom:1px solid var(--stage-b)}
.tbl td{padding:12px 16px;border-top:1px solid var(--stage-b);vertical-align:middle}
.tbl tr.rowc{cursor:pointer;transition:background .15s}
.tbl tr.rowc:hover{background:#0f141b}
.tbl thead tr{background:var(--rail)}
.tgrp{color:var(--fa);font-size:12px;padding:16px 0 8px}
.task{display:flex;align-items:center;gap:12px;background:var(--stage);border:1px solid var(--stage-b);border-radius:12px;padding:8px 8px 8px 16px;margin-bottom:8px;transition:opacity .2s}
.task.done .nm{text-decoration:line-through;color:var(--fa)}
.ck{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--card-h);display:grid;place-items:center;flex:none;transition:background .15s,border-color .15s}
.ck i{font-size:14px;color:#fff;transform:scale(0);transition:transform .2s var(--ease)}
.ck.on{background:var(--ac);border-color:var(--ac)}.ck.on i{transform:scale(1)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}
.kpi{background:var(--stage);border:1px solid var(--stage-b);border-radius:16px;padding:16px}
.kpi .l{color:var(--mu);font-size:12px}.kpi .v{font-size:24px;line-height:32px;margin:4px 0}.kpi .d{font-size:12px}
.up{color:var(--green)}.dn{color:var(--red)}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:12px}
.pn{background:var(--stage);border:1px solid var(--stage-b);border-radius:16px;padding:16px}
.pn h4{font-size:13px;margin-bottom:16px}
.fr{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.fr .lb{width:96px;color:var(--mu);font-size:12px}
.fr .bar2{flex:1;height:20px;background:#0f141b;border-radius:6px;overflow:hidden}
.fr .bar2 i{display:block;height:100%;border-radius:6px}
.agenda{flex:1;min-height:0;display:grid;grid-template-columns:1fr 320px;gap:12px;padding:0 24px 24px}
.calw{display:flex;flex-direction:column;min-height:0}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--stage-b);border:1px solid var(--stage-b);border-radius:16px;overflow:hidden;flex:1;grid-auto-rows:auto}
.cal .h{background:var(--rail);padding:8px 12px;color:var(--fa);font-size:12px}
.cal .d{background:var(--stage);min-height:92px;padding:4px 8px 8px;cursor:pointer;transition:background .15s;overflow:hidden}
.cal .d:hover{background:#0f141b}
.cal .d.out{opacity:.4}.cal .d.sel{background:#0d1626;box-shadow:inset 0 0 0 1px var(--ac-b)}
.cal .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;margin-bottom:2px}
.cal .d.today .n{background:var(--ac);color:#fff}
.ev{font-size:11px;line-height:16px;padding:0 6px;border-radius:5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev.nc{background:var(--ac-bg);color:#9cc0ff}.ev.g{background:#0f2a22;color:#6ee7b7}.ev.h{background:#2a1218;color:#fca5b3}
.side{background:var(--stage);border:1px solid var(--stage-b);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.prog{height:6px;background:#0f141b;border-radius:3px;overflow:hidden}.prog i{display:block;height:100%;background:var(--ac);transition:width .4s var(--ease)}
.steps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.steps span{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:8px;background:var(--stage);border:1px solid var(--stage-b);color:var(--fa);font-size:12px}
.steps span.on{color:var(--ac);border-color:var(--ac-b);background:var(--ac-bg)}.steps span.ok{color:var(--green)}
.cfg{flex:1;min-height:0;display:grid;grid-template-columns:240px 1fr;border-top:1px solid var(--stage-b)}
.cn{border-right:1px solid var(--stage-b);padding:16px;display:flex;flex-direction:column;gap:4px;background:var(--rail);overflow:auto}
.cn button{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;border-radius:12px;color:var(--mu);text-align:left;transition:background .15s;white-space:nowrap;flex:none}
.cn button:hover{background:#0f141b}
.cn button.on{background:var(--ac-bg);color:var(--ac)}
.cn button i{font-size:20px}
.cn button.sb{height:32px;margin-left:16px;width:calc(100% - 16px)}.cn button.sb i{font-size:16px}
.cc{overflow:auto;padding:32px}
.pane{display:flex;max-width:780px;flex-direction:column;gap:16px;animation:vin .25s var(--ease)}
.pane h2{font-size:18px;line-height:28px}
.pane .sub{color:var(--mu);margin-top:-12px}
.pane.wide{max-width:1080px}
.aicols{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.aicols>.col{display:flex;flex-direction:column;gap:16px;min-width:0}
.aiside{position:sticky;top:0}
.lnk{color:var(--ac);font-size:12px;text-decoration:underline;text-underline-offset:2px}
.irow{min-height:48px}
.sec{background:var(--stage);border:1px solid var(--stage-b);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:16px}
.tg{width:40px;height:24px;border-radius:12px;background:#222a38;position:relative;transition:background .2s;flex:none}
.tg:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#aab2c3;transition:transform .2s var(--ease),background .2s}
.tg[aria-checked=true]{background:var(--ac)}
.tg[aria-checked=true]:after{transform:translateX(16px);background:#fff}
.tg.dg[aria-checked=true]{background:#c0364d}
.pill{font-size:12px;border-radius:8px;padding:0 8px;background:#121823;color:var(--mu);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c,var(--fa))}
.log{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--mu)}
.log div{display:flex;gap:12px;animation:bin .3s var(--ease)}
.mono{font:12px/20px ui-monospace,monospace;background:#0d1117;border:1px solid var(--card-b);border-radius:10px;padding:8px 12px;display:flex;align-items:center;gap:8px;word-break:break-all}
.toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:90;align-items:center}
.toast{background:var(--pop);border:1px solid var(--pop-b);border-radius:14px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 32px rgba(0,0,0,.45);animation:tin .3s var(--ease)}
.toast.out{animation:tout .2s ease forwards}
@keyframes tin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes tout{to{opacity:0;transform:translateY(8px)}}
.toast i{font-size:20px;color:var(--green)}.toast.er i{color:var(--red)}.toast.in i{color:var(--ac)}
.toast.ai{background:#1a1530;border-color:#4a3f85}.toast.ai i{color:var(--violet)}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--card-h);border-top-color:var(--ac);animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
.qr{display:grid;grid-template-columns:repeat(25,1fr);width:200px;height:200px;background:#e4e7ee;padding:12px;border-radius:12px;margin:0 auto 16px;position:relative}
.qr i{background:transparent}.qr i.k{background:#0b0f15}
.qr.ok:after{content:"\eb7a";font-family:"tabler-icons";position:absolute;inset:0;background:rgba(9,12,17,.86);color:var(--green);font-size:56px;display:grid;place-items:center;border-radius:12px;animation:fade .3s}
.drop{border:1.5px dashed var(--card-h);border-radius:16px;padding:32px;text-align:center;color:var(--mu);transition:background .15s,border-color .15s;cursor:pointer}
.drop:hover,.drop.over{background:#0d1626;border-color:var(--ac)}
.login{position:fixed;inset:0;background:var(--bg);z-index:100;display:none;place-items:center}
.login.on{display:grid;animation:fade .25s}
.login .box{width:min(380px,92vw);display:flex;flex-direction:column;gap:16px;animation:mup .3s var(--ease)}
.login .logo{margin:0 0 8px}
.code{letter-spacing:8px;text-align:center;font-size:20px;height:48px}
input[type=checkbox]{accent-color:var(--ac);width:16px;height:16px}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#1a212c;border-radius:6px;border:2px solid transparent;background-clip:padding-box}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.tl li.ai:before{background:var(--violet)}
.tl li.ok:before{background:var(--green)}
.tl li.bad:before{background:var(--red)}
.tl li.wait:before{background:var(--amber)}
.tl li.old:before{background:#3a4254}
.winbar{display:flex;align-items:center;gap:8px;min-height:32px;padding:4px 24px;font-size:12px;line-height:16px;color:var(--mu);border-bottom:1px solid var(--stage-b);background:color-mix(in srgb,var(--c) 7%,var(--bg));flex:none}
.winbar i{font-size:16px;color:var(--c);flex:none}.winbar b{font-weight:400;color:var(--tx)}
.st{display:inline-flex;align-items:center;gap:4px;margin-left:8px;vertical-align:-4px}.st i{font-size:16px}
.st.read{color:var(--sky)}.st.failed{color:var(--red)}
.b.fail{box-shadow:inset 0 0 0 1px #6b2535}
.mf{align-self:flex-end;max-width:68%;margin-top:-2px;padding:12px;border-radius:12px;background:#2a1218;border:1px solid #4a1c27;color:#f3c0c9;font-size:12px;line-height:18px;display:flex;flex-direction:column;gap:8px;animation:bin .25s var(--ease)}
.mf b{font-weight:500;color:#fca5b3}
.mf details summary{cursor:pointer;color:var(--mu)}.mf details .mono{margin-top:8px;color:var(--tx)}
.lock{display:flex;flex-direction:column;gap:12px;padding:4px 8px 8px}
.lock .lh{display:flex;gap:8px;align-items:center;color:var(--mu);font-size:12px}.lock .lh i{font-size:16px;color:var(--red)}.lock .lh b{font-weight:400;color:var(--tx)}
.lock .lg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lock .fld{margin-bottom:8px}.lock .wbub{max-height:132px;overflow:auto}.lock{gap:8px}
.wbub{background:#161c26;border:1px solid var(--card-b);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:13px;white-space:pre-wrap;word-break:break-word}
.wbub .h{font-weight:500}.wbub .f{color:var(--fa);font-size:12px}
.wbub .bt{border-top:1px solid var(--card-b);text-align:center;color:var(--ac);padding-top:8px;white-space:normal}
.wbub .vv{color:#9cc0ff;background:var(--ac-bg);border-radius:4px;padding:0 1px}
.sug{background:#161230;border:1px solid #3a3166;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--mu)}
.fus{border:1px solid var(--stage-b);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--rail)}
.trw{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--stage-b);border-radius:12px;background:var(--rail);cursor:pointer;transition:border-color .15s}
.trw:hover{border-color:var(--card-h)}
.optc{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--card-b);border-radius:12px;cursor:pointer;margin-bottom:8px;transition:border-color .15s,background .15s}
.optc:has(input:checked){border-color:var(--ac-b);background:var(--ac-bg)}
.optc input{margin-top:2px;flex:none}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wtg{display:grid;grid-template-columns:1fr 300px;gap:24px}
.wtp{position:sticky;top:0;align-self:start}
.modal.xl{width:min(940px,96vw)}
.aifr{display:grid;grid-template-columns:1fr 88px 144px 120px;gap:8px;align-items:center;min-height:32px}
.aifr.aih{color:var(--fa);font-size:12px}.aifr.aih span+span{text-align:center}
.csbar{display:none;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--stage-b);background:var(--rail);flex:none}
.csbar.on{display:flex}
.ib.act{background:var(--ac-bg);color:var(--ac)}
.ci .ck{align-self:center}
@media (max-width:760px){.wtg,.g2,.lock .lg,.aicols{grid-template-columns:1fr}.aiside{position:static}.aifr{grid-template-columns:1fr 64px 64px 64px;font-size:12px}.wtp{position:static}.cfg{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}#cnav{max-height:220px;overflow:auto}.irow{flex-wrap:wrap}.irow .t{flex:1 1 160px;min-width:0}.th-h{flex-wrap:wrap}.th-h .sp{flex:1 1 0}}
.th-h .src{white-space:nowrap;gap:16px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (max-width:1100px){.chat{grid-template-columns:280px minmax(0,1fr)}.cp{display:none}.grid2,.agenda{grid-template-columns:1fr}}
/* PWA e notificações (item 51) */
.pwa-alerta{display:flex;gap:8px;align-items:flex-start;background:#1f1a0d;border:1px solid #3d3416;color:#e6d8a8;border-radius:8px;padding:8px 12px;margin-bottom:12px}
.pwa-alerta i{font-size:16px;color:var(--amber);margin-top:2px}
.pwa-prefs .rw{display:flex;align-items:center;gap:12px;min-height:44px}
.pwa-prefs .rw>i{font-size:18px;color:var(--ico);flex:none}
.pwa-prefs .t{flex:1;display:flex;flex-direction:column}
.pwa-prefs .t span{color:var(--mu);font-size:12px}
.pwa-push{border-bottom:1px solid var(--card-b);padding-bottom:8px;margin-bottom:4px}
.card.act,.card.hl{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.card .av.own[data-own]{width:24px;height:24px;font-size:11px}
.card .av.own[data-own]:hover{filter:brightness(1.15)}
.card .av.own[data-own]:focus-visible,.card [data-lead]:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.board{justify-content:start}
.board.arrasta{cursor:grabbing;user-select:none}
.card .nm .co{margin-top:2px}
.card .ft{display:flex;align-items:center;gap:8px;min-height:20px}
.cp .kv{grid-template-columns:96px minmax(0,1fr)}
.cp .kv>*{min-width:0}
@property --giro{syntax:'<angle>';initial-value:0deg;inherits:false}
.card.hl{position:relative;border-color:transparent;box-shadow:none}
.card.hl::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:2px;pointer-events:none;background:conic-gradient(from var(--giro),var(--ac) 0 40%,transparent 40% 50%,var(--ac) 50% 90%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:giro 2.4s linear infinite}
@keyframes giro{to{--giro:360deg}}
@media (prefers-reduced-motion:reduce){.card.hl::before{animation:none}}
.ia-robo{font-size:16px;flex:none;margin-left:6px}
.ci .r1 .ia-robo{font-size:14px;margin-left:0}
.iatop{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px}
.iatop .ia-robo{font-size:22px;margin:0}
.iabar{display:flex;align-items:center;gap:12px;min-height:56px;padding:4px 8px;background:#1c1832;border:1px solid #3a3166;border-radius:12px}
.iabar .ia-robo{font-size:22px;margin:0}
.b.note.pia{background:#1c1832;border-color:#3a3166;color:#d9ccff}
.b.note.pia small{color:#a89ad6}
.b .falha{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:12px;color:var(--amber)}
.b.imgb,.b.stk{padding:4px}
.b.stk{background:none;border:0;box-shadow:none;padding:0}
.b .mimg{display:block;padding:0;border:0;background:none;cursor:pointer;border-radius:10px;overflow:hidden}
.b .mimg img{display:block;max-width:240px;max-height:240px;object-fit:cover}
.b.stk .mimg img{width:128px;height:128px;object-fit:contain;background:none}
.b.stk small{text-align:right}
.rwv i{animation:none;transition:height .06s linear;height:3px}
#rp{min-width:44px;min-height:44px}
.iamodo{display:inline-flex;border:1px solid var(--card-b);border-radius:999px;overflow:hidden;margin:0 8px}
.iamodo button{background:none;border:0;padding:4px 10px;color:var(--mu);cursor:pointer}
.iamodo button.on{background:var(--ac);color:#fff}
.iamod{width:100%;justify-content:flex-start;gap:8px}
.iaesf .iarange{width:100%;accent-color:var(--ac)}
.iastops{display:flex;justify-content:space-between;gap:4px;margin-top:4px}
.iastop{flex:1;background:none;border:1px solid transparent;border-radius:8px;padding:2px 4px;font-size:12px;color:var(--mu);cursor:pointer}
.iastop.on{border-color:var(--ac);color:var(--tx)}
.modal.seletor{width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;max-height:min(640px,calc(100vh - 32px));transition:transform .22s ease}
.modal.seletor .sel-lista{overflow-y:auto;flex:1;min-height:120px;display:flex;flex-direction:column;gap:2px;margin:4px 0}
.modal.seletor .si{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border:0;border-radius:8px;background:none;color:var(--tx);text-align:left;cursor:pointer}
.modal.seletor .si:hover,.modal.seletor .si:focus-visible{background:var(--card-h)}
.modal.seletor .si.on{background:var(--card-h);box-shadow:inset 2px 0 0 var(--ac)}
.modal.seletor .si .t{flex:1;min-width:0;display:flex;flex-direction:column}
.modal.seletor .si .t span{font-size:12px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal.seletor .si.novo{color:var(--ac);font-weight:500}
.modal.seletor.lado{transform:translateX(calc(-50% - 12px))}
.modal.ao-lado{transform:translateX(calc(50% + 12px))}
@media (max-width:900px){.modal.seletor.lado{transform:none;visibility:hidden}.modal.ao-lado{transform:none}}
.msw{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:8px;background:var(--card);border:1px solid var(--card-b)}
.msw button{display:inline-flex;align-items:center;gap:6px;height:28px;min-width:28px;justify-content:center;padding:0 7px;border:0;border-radius:6px;background:none;color:var(--mu);font:inherit;font-size:12px;cursor:pointer}
.msw button i{font-size:14px}
.msw button:hover{color:var(--tx)}
.msw button:focus-visible{outline:2px solid var(--ac-b)}
.msw button.on{padding:0 10px 0 8px;color:var(--tx);background:var(--card-h)}
.msw button.m-note{background:#221d10;color:#e6d8a8}
.msw button.m-ia{background:#1c1832;color:var(--violet)}
.wv i{height:3px}
.cvt{display:grid;grid-template-columns:140px 190px repeat(var(--n),minmax(170px,220px));gap:8px 12px;align-items:center;overflow-x:auto}
.cvt .cvh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mu)}
.cvt .cvh i{font-size:16px}
.cvt .sel{width:100%}
.cvt .tag{justify-self:start}
#avisos{position:fixed;top:72px;right:24px;z-index:60;display:flex;flex-direction:column;gap:12px;width:min(400px,calc(100vw - 32px))}
.aviso{background:var(--pop);border:1px solid var(--pop-b);border-radius:16px;padding:16px;box-shadow:0 12px 32px rgba(0,0,0,.45);animation:aviso-in .2s ease}
.aviso .av-h{display:flex;align-items:center;gap:12px}
.aviso .av-h .t{flex:1;min-width:0;display:flex;flex-direction:column}
.aviso .av-h b{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aviso .av-h span{font-size:12px;color:var(--mu)}
.aviso p{margin:12px 0;font-size:15px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@keyframes aviso-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.aviso{animation:none}}
@media (max-width:600px){#avisos{top:auto;bottom:16px;right:16px}}
