:root{
  --navy:#0a2342;--navy2:#0f3466;--accent:#1d6fe0;--accent-d:#1557b8;--teal:#0fb5ae;
  --bg:#f3f5f9;--card:#fff;--line:#e3e8f0;--txt:#1b2a3d;--mut:#6b7a90;
  --ok:#16a34a;--okbg:#e7f6ec;--bad:#dc2626;--badbg:#fdecec;--warn:#d97706;--warnbg:#fff3df;--info:#1d6fe0;--infobg:#e8f0fd;
  --radius:12px;--shadow:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--txt);font:14px/1.5 Inter,"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.hidden{display:none!important}
h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}
a{color:var(--accent);cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}
.muted{color:var(--mut)}.small{font-size:12px}.err{color:var(--bad)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end;margin-top:16px}.row.between{justify-content:space-between}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ico{width:18px;height:18px;flex:none}

/* login */
#login{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.login-brand{background:linear-gradient(155deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:44px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-brand:after{content:"";position:absolute;right:-140px;bottom:-140px;width:420px;height:420px;border-radius:50%;border:56px solid rgba(255,255,255,.05)}
.login-copy h1{font-size:34px;line-height:1.2;max-width:560px;font-weight:700}
.login-copy p{color:#b9c8de;max-width:520px;margin:16px 0 22px;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{border:1px solid rgba(255,255,255,.22);padding:5px 12px;border-radius:99px;font-size:12px;color:#d6e2f3}
.login-foot{color:#8fa5c4}
.login-card{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(28px,6vw,84px);background:#fff}
.login-card h2{font-size:24px;margin-bottom:6px}
.login-card form{margin:22px 0 14px}
.brand-row{display:flex;align-items:center;gap:12px}
.brand-row b{display:block;font-size:17px;letter-spacing:.01em}.brand-row small{opacity:.7;font-size:12px}
.mark{width:40px;height:40px;color:var(--teal);display:grid;place-items:center}.mark svg{width:40px;height:40px}

/* shell */
#app{display:flex;min-height:100vh}
#side{width:252px;flex:none;background:linear-gradient(180deg,var(--navy) 0%,#0c2c55 100%);color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}
#nav{flex:1;display:flex;flex-direction:column;gap:2px;overflow:auto}
#nav a{display:flex;gap:12px;align-items:center;color:#c9d6ea;padding:10px 12px;border-radius:9px;position:relative}
#nav a:hover{background:rgba(255,255,255,.07);text-decoration:none;color:#fff}
#nav a.active{background:rgba(255,255,255,.13);color:#fff;font-weight:600}
#nav a.active:before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--teal)}
.navh{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7f95b6;padding:16px 12px 6px}
.side-foot{font-size:11px;color:#7f95b6;line-height:1.5;padding:0 8px}
.main-wrap{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}
.topbar h1{font-size:18px}.topbar small{color:var(--mut);font-size:12px}
.top-actions{display:flex;align-items:center;gap:14px}
.icon-btn{width:40px;height:40px;border-radius:10px;background:transparent;color:var(--navy);border:1px solid transparent;padding:0;display:grid;place-items:center}
.icon-btn:hover{background:#eef2f8;filter:none}.icon-btn svg{width:22px;height:22px}
.user-chip{display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 10px 5px 5px;border-radius:99px;border:1px solid var(--line)}
.user-chip:hover{background:#f6f8fb}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:650;font-size:12px}
.who{display:flex;flex-direction:column;line-height:1.2}.who b{font-size:13px}.who small{font-size:11px}
main{padding:26px 28px;flex:1;max-width:1480px;width:100%;margin:0 auto}
.foot{padding:16px 28px;color:var(--mut);font-size:12px;border-top:1px solid var(--line);background:#fff}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.page-head h2{font-size:22px}.page-head p{margin:2px 0 0}

/* popovers */
.pop{position:fixed;top:70px;right:20px;width:270px;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(10,35,66,.22);border:1px solid var(--line);padding:20px;z-index:70}
.pop.wide{width:380px;max-height:calc(100vh - 100px);overflow:auto}
.pop h3{font-size:18px}.pop .sub{color:var(--mut);margin:4px 0 10px}
.pop hr{border:0;border-top:1px solid var(--line);margin:12px 0 16px}
.pop-link{display:block;margin-top:14px;font-weight:600}
.pop .menu a{display:flex;gap:10px;align-items:center;padding:9px 8px;border-radius:8px;color:var(--txt)}.pop .menu a:hover{background:#f1f4f9;text-decoration:none}
.switch-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:var(--mut);margin:0}
.switch{position:relative;width:38px;height:20px;display:inline-block}.switch input{opacity:0;width:0;height:0;position:absolute}
.switch i{position:absolute;inset:0;background:#c3ccd9;border-radius:99px;transition:.15s}
.switch i:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch input:checked+i{background:var(--accent)}.switch input:checked+i:before{transform:translateX(18px)}

/* tiles (aplicativos) */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border-radius:12px;color:var(--txt);text-align:center}
.tile:hover{background:#f1f5fb;text-decoration:none}
.tile-ico{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:19px;box-shadow:0 2px 6px rgba(10,35,66,.18);overflow:hidden}
.tile-ico.img{background:#fff;border:1px solid var(--line);box-shadow:none}.tile-ico img{max-width:80%;max-height:80%;object-fit:contain}
.tile-name{font-size:13px;line-height:1.25;word-break:break-word}
.app-cat{margin:22px 0 10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:650}
.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.app-card{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;color:var(--txt);box-shadow:var(--shadow)}
.app-card:hover{text-decoration:none;border-color:#bcd0f3;transform:translateY(-1px)}
.app-card .tile-ico{width:48px;height:48px;font-size:16px;flex:none}
.app-card b{display:block}.app-card small{color:var(--mut)}

/* cards, kpis */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px;box-shadow:var(--shadow)}
.card>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}
.card>header h3{font-size:15px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 14px 20px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}
.kpi.ok:before{background:var(--ok)}.kpi.bad:before{background:var(--bad)}.kpi.warn:before{background:var(--warn)}
.kpi small{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:11px;color:var(--mut);font-weight:650}
.kpi b{display:block;font-size:32px;line-height:1.15;margin:4px 0 2px;letter-spacing:-.02em}
.kpi span{color:var(--mut);font-size:12px}
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dash-grid .card{margin-bottom:0}.dash-grid{margin-bottom:18px}
.donut-wrap{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.donut{width:156px;height:156px;border-radius:50%;display:grid;place-items:center;flex:none}
.donut>div{width:110px;height:110px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;line-height:1.1}
.donut b{font-size:28px;display:block}.donut small{color:var(--mut);font-size:11px}
.legend{display:grid;gap:8px}.legend div{display:flex;gap:8px;align-items:center}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.org-row{padding:10px 0;border-bottom:1px solid var(--line)}.org-row:last-child{border:0}
.org-row .top{display:flex;justify-content:space-between;margin-bottom:6px;gap:8px}
.stack{display:flex;height:8px;border-radius:99px;overflow:hidden;background:#e8edf5}.stack i{display:block;height:100%}
.stack .up{background:var(--ok)}.stack .down{background:var(--bad)}.stack .unk{background:#c3cddc}
.list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}
.ok-box{background:var(--okbg);color:#14532d;border-radius:10px;padding:14px 16px}
.empty{text-align:center;padding:40px 10px;color:var(--mut)}
.chips2{display:flex;flex-wrap:wrap;gap:8px}.chips2 span{background:#eef2f8;border-radius:99px;padding:5px 12px;font-size:12.5px}.chips2 b{margin-left:6px}

/* tabelas, badges, botões */
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--mut);font-weight:650;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}
tbody tr:hover{background:#f8fafd}tr:last-child td{border-bottom:0}
.badge{display:inline-block;font-size:11px;padding:2px 9px;border-radius:99px;font-weight:650;background:#eef2f8;color:#42526b}
.badge.interna,.badge.ok,.badge.up{background:var(--okbg);color:#14703a}
.badge.cliente,.badge.warn{background:var(--warnbg);color:#a15c07}
.badge.falhou,.badge.erro,.badge.timeout,.badge.truncado,.badge.down{background:var(--badbg);color:#b42323}
.badge.running,.badge.info{background:var(--infobg);color:var(--accent-d)}
button{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:8px;padding:8px 16px;cursor:pointer;font:inherit;font-weight:600}
button:hover{background:var(--accent-d);border-color:var(--accent-d)}
button.block{width:100%;padding:11px}
button.ghost{background:#fff;color:var(--txt);border-color:var(--line);font-weight:550}button.ghost:hover{background:#f3f6fb}
button.danger{color:var(--bad);border-color:#f2c4c4}button.danger:hover{background:var(--badbg)}
button.sm{padding:4px 10px;font-size:12px;border-radius:7px}
button:disabled{opacity:.55;cursor:not-allowed}
a.btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);color:var(--txt);border-radius:7px;padding:4px 10px;font-size:12px;font-weight:550;background:#fff}
a.btn:hover{background:#f3f6fb;text-decoration:none}a.btn small{color:var(--mut)}
input,select,textarea{width:100%;background:#fff;border:1px solid #cfd8e5;color:var(--txt);border-radius:8px;padding:9px 11px;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid #bcd4fa;border-color:var(--accent)}
textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;resize:vertical}
label{display:block;margin-bottom:12px}label>span{display:block;color:var(--mut);font-size:12px;margin-bottom:4px;font-weight:550}
label.chk{display:flex;gap:9px;align-items:flex-start}label.chk input{width:auto;margin-top:3px}label.chk>span{margin:0;color:var(--txt);font-size:13.5px}
input[type=color]{padding:2px;height:38px}

/* servidores */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toolbar input{width:240px}.toolbar select{width:auto}
.org-head{display:flex;align-items:center;gap:10px;margin:22px 0 10px}.org-head h3{font-size:15px}
.srv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.srv{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.srv-h{display:flex;align-items:center;gap:9px}.srv-h b{font-size:15px}
.dot{width:10px;height:10px;border-radius:50%;background:#b6c1d1;flex:none}.dot.up{background:var(--ok);box-shadow:0 0 0 4px var(--okbg)}.dot.down{background:var(--bad);box-shadow:0 0 0 4px var(--badbg)}
.srv-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* scripts / perfis */
.split{display:grid;grid-template-columns:270px 1fr;gap:18px;align-items:start}
.list .item{padding:10px 12px;border-radius:9px;cursor:pointer;display:flex;flex-direction:column}
.list .item:hover{background:#f1f5fb}.list .item.active{background:var(--infobg)}.list small{color:var(--mut)}
pre{background:#0f1722;color:#d6e0ee;border-radius:8px;padding:12px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:6px 0;max-height:50vh;font:12.5px ui-monospace,Menlo,Consolas,monospace}
.perm-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.perm-group{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.perm{display:flex;gap:9px;margin:10px 0 0;align-items:flex-start}.perm input{width:auto;margin-top:4px}
.perm span{margin:0}.perm b{display:block;font-size:13.5px;color:var(--txt);font-weight:600}.perm small{color:var(--mut);font-size:12px;line-height:1.35;display:block}
.steps{padding-left:18px;color:var(--txt);margin:12px 0}.steps li{margin:4px 0}
.qr{display:grid;place-items:center;margin:10px 0}.qr svg{width:240px;max-width:100%;height:auto;aspect-ratio:1;background:#fff;border-radius:8px;shape-rendering:crispEdges}
code.secret{display:block;background:#f1f5fb;border:1px dashed #b7c6df;border-radius:8px;padding:9px;text-align:center;letter-spacing:.12em;font-size:14px;margin:6px 0 14px;word-break:break-all}
pre.codes{font-size:15px;letter-spacing:.06em;text-align:center}

/* overlays */
.overlay{position:fixed;inset:0;background:rgba(10,35,66,.5);display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}
.overlay.dark{background:rgba(5,10,18,.78);z-index:90}
.dialog{background:#fff;border-radius:16px;padding:24px;width:min(560px,100%);max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.dialog.wide{width:min(940px,100%)}.dialog h3{font-size:18px;margin-bottom:14px}
.term-box{background:#0b0f14;border:1px solid #1f2a37;border-radius:12px;width:min(1100px,100%);height:min(720px,92vh);display:flex;flex-direction:column;overflow:hidden}
.term-bar{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid #1f2a37;color:#d3deec}
.term-bar .ghost{background:transparent;color:#d3deec;border-color:#33445a}.term-bar .ghost:hover{background:#17212e}
#term-body{flex:1;padding:8px;min-height:0}
.rdp-box{width:min(1440px,98vw);height:min(880px,94vh)}
#rdp-body{flex:1;min-height:0;background:#000;overflow:hidden;position:relative}
.rdp-wrap{width:100%;height:100%;outline:none;overflow:hidden}
#toast{position:fixed;bottom:22px;right:22px;background:var(--navy);color:#fff;padding:11px 18px;border-radius:10px;opacity:0;transition:.2s;pointer-events:none;z-index:200;max-width:440px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
#toast.show{opacity:1}#toast.err{background:var(--bad)}

@media(max-width:1000px){
  #login{grid-template-columns:1fr}.login-brand{display:none}
  #app{flex-direction:column}#side{width:auto;height:auto;position:static;padding:12px 14px;gap:10px}#nav{flex-direction:row;flex-wrap:wrap}.navh,.side-foot{display:none}#nav a.active:before{display:none}
  .dash-grid,.perm-groups,.split,.grid2{grid-template-columns:1fr}
  main{padding:18px 14px}.topbar{padding:0 14px}
  .pop,.pop.wide{right:8px;left:8px;width:auto}
}
.tile-ico.sm-ico{width:40px;height:40px;font-size:14px;border-radius:10px}

/* logos oficiais (versões brancas: só sobre fundo escuro) */
.brand-top{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.logo-wide{width:320px;max-width:100%;height:auto;display:block}
.brand-side{padding:2px 8px 4px}
.logo-stacked{width:158px;max-width:100%;height:auto;display:block}
.product{display:block;margin-top:8px;font-size:10.5px;letter-spacing:.28em;color:#7f95b6;font-weight:600}
.brand-top .product{margin:0}

a.btn.idrac{border-color:#b9d3f5;color:#0b4fa8;background:#f2f7ff}a.btn.idrac:hover{background:#e6f0ff}

img{max-width:100%}
@media(max-width:1000px){.logo-stacked{width:132px}}

.row>input{flex:1;min-width:0;width:auto}.row>input[type=checkbox],.row>input[type=radio]{flex:none}.row>input[type=checkbox]+span,.row>input[type=radio]+span{flex:1;min-width:0}
details summary{padding:6px 0}

.badge.sev0{background:#eef2f8;color:#42526b}.badge.sev1{background:#e0f0ff;color:#0b5cad}.badge.sev2{background:#fff3c4;color:#8a6500}
.badge.sev3{background:#ffe2c2;color:#a14a00}.badge.sev4{background:#ffd6d6;color:#b42323}.badge.sev5{background:#7f1d1d;color:#fff}

.badge.ac-critical{background:#7f1d1d;color:#fff}.badge.ac-error{background:#ffd6d6;color:#b42323}.badge.ac-warning{background:#fff3c4;color:#8a6500}
.badge.ac-information{background:#e0f0ff;color:#0b5cad}.badge.ac-ok{background:var(--okbg);color:#14703a}

tr.click{cursor:pointer}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:10px 0}.kv dt{color:var(--mut);font-size:12.5px}.kv dd{margin:0;word-break:break-word}
code{background:#eef2f8;padding:1px 6px;border-radius:5px;font-size:12px}
details summary{outline:none}
.list-item.click{cursor:pointer;border-radius:8px;padding-left:6px;padding-right:6px}.list-item.click:hover{background:#f3f6fb}

/* ===== barra de busca e filtros ===== */
.toolbar{gap:10px;align-items:center}
.toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select,.toolbar button{height:40px;border-radius:10px;font-size:14px}
.toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select{background-color:#fff;border:1px solid #d3dbe8;padding:0 12px;box-shadow:0 1px 2px rgba(15,23,42,.05);transition:border-color .15s,box-shadow .15s;color:var(--txt)}
.toolbar input:not([type=checkbox]):hover,.toolbar select:hover{border-color:#b4c2d8}
.toolbar input:not([type=checkbox]):focus,.toolbar select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,111,224,.16)}
.toolbar input[placeholder^="Buscar"],.toolbar input[placeholder^="Filtrar"]{width:290px;padding-left:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:13px center;background-size:17px}
.toolbar input.wide{width:300px}
.toolbar select{appearance:none;-webkit-appearance:none;width:auto;min-width:150px;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px}
.toolbar button{padding:0 16px;font-weight:600}
.seg{display:inline-flex;gap:2px;background:#e8edf5;border-radius:11px;padding:3px}
.toolbar .seg button,.seg button{height:34px;background:transparent;border:0;color:#52607a;border-radius:8px;padding:0 13px;font-weight:600;font-size:13.5px}
.seg button:hover{background:rgba(255,255,255,.6);color:var(--txt)}
.seg button.on{background:#fff;color:var(--txt);box-shadow:0 1px 3px rgba(15,23,42,.14)}
.seg .cnt{display:inline-block;min-width:20px;margin-left:5px;padding:1px 6px;border-radius:999px;background:#d9e1ee;color:#41506b;font-size:11.5px;text-align:center}
.seg button.on .cnt{background:var(--accent);color:#fff}
.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 6px 0 12px;border-radius:999px;background:#e7f0fd;color:#1557b8;font-weight:600;font-size:13px}
.chip button{background:none;border:0;color:inherit;padding:0 6px;height:auto;font-size:14px;line-height:1}
.chip button:hover{background:none;color:var(--bad)}
.kpi.click{cursor:pointer;transition:transform .12s,box-shadow .12s}
.kpi.click:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.12)}
.kpi.click small:after{content:" ›";font-weight:800}
.org-row.click,.list-item.click{cursor:pointer}.org-row.click:hover{background:#f3f6fb}
.av-org>summary{list-style:none;position:relative;padding-right:26px}
.av-org>summary::-webkit-details-marker{display:none}
.av-org>summary:after{content:"";position:absolute;right:4px;top:50%;width:8px;height:8px;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:translateY(-70%) rotate(45deg);transition:transform .15s}
.av-org[open]>summary:after{transform:translateY(-30%) rotate(-135deg)}
.av-org>summary:hover b{color:var(--accent)}

/* ===== campo de cliente com busca (autocompletar) ===== */
.combo{position:relative;display:inline-block}.combo.block{display:block;width:100%}
.combo input{width:100%;padding-right:34px;text-overflow:ellipsis}
.toolbar .combo input{width:310px}
.combo-arrow{position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid #7b8aa3;border-bottom:2px solid #7b8aa3;transform:translateY(-72%) rotate(45deg);pointer-events:none}
.combo-list{position:fixed;z-index:600;background:#fff;border:1px solid #d3dbe8;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.2);overflow:hidden;display:flex;flex-direction:column}
.combo-items{overflow:auto;padding:6px}
.combo-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:14px;color:var(--txt)}
.combo-item.act{background:#e8f0fd}.combo-item.sel{font-weight:650}
.combo-item mark{background:#fde68a;color:inherit;border-radius:3px;padding:0 1px}
.combo-item small{margin-left:auto;color:#5b6a85;font-size:11px;background:#eef2f8;border-radius:999px;padding:2px 9px}
.combo-item .ck{margin-left:auto;color:var(--accent);font-style:normal;font-weight:800}
.combo-item small+.ck{margin-left:0}
.tk-note{display:block;color:#8a6500;font-size:12px;margin-top:4px}.tk-note:empty{display:none}
.combo-item .tk-sub{font-style:normal;color:#5b6a85;font-size:12px;margin-left:6px}
.combo-empty{padding:18px;color:var(--mut);text-align:center;font-size:14px}
.combo-foot{border-top:1px solid #edf0f6;padding:7px 14px;font-size:12px;color:var(--mut);background:#fafbfd}

/* correção: o ícone de lupa não pode ficar por cima do texto da busca (especificidade) */
.toolbar input[placeholder^="Buscar"]:not([type=checkbox]):not([type=radio]),.toolbar input[placeholder^="Filtrar"]:not([type=checkbox]):not([type=radio]){padding-left:40px}
/* servidor clicável e gráficos */
.srv.click{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.srv.click:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.12);border-color:#b9cbe6}
.gr-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-bottom:14px}
.gr-box{margin-bottom:14px}.gr-box header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}.gr-grid2 .gr-box{margin-bottom:0}
.gr-chart{position:relative;width:100%}.gr-chart svg{width:100%;height:auto;display:block;aspect-ratio:640/210}
.gr-grid{stroke:#e6ebf3;stroke-width:1}.gr-ax{fill:#7a879c;font-size:10.5px}.gr-vl{stroke:#94a3b8;stroke-width:1;stroke-dasharray:3 3}
.gr-tip{display:none;position:absolute;z-index:5;pointer-events:none;background:#fff;border:1px solid #d3dbe8;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.16);padding:7px 10px;font-size:12.5px;line-height:1.5;white-space:nowrap}
.gr-legend{display:flex;gap:14px;flex-wrap:wrap;margin:2px 0 4px;font-size:12.5px;color:var(--mut)}.gr-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.gr-empty{padding:34px 10px;text-align:center;color:var(--mut)}
.gr-disks{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.gr-disk{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fafbfd}
.gr-bar{height:9px;border-radius:999px;background:#e6ebf3;overflow:hidden;margin:8px 0 6px}.gr-bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}
.gr-bar i.ok{background:var(--ok)}.gr-bar i.warn{background:var(--warn)}.gr-bar i.bad{background:var(--bad)}

/* ===== auditoria ===== */
.au-filters .toolbar{gap:10px}.au-date{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--mut)}.au-date span{font-weight:600}
.toolbar input[type=date]{width:160px;padding:0 10px}
.au-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.au-pg{font-size:13px;color:var(--mut);padding:0 6px}
td.nw{white-space:nowrap}.au-det{max-width:520px;word-break:break-word;font-size:13px}
.au-pager button:disabled{opacity:.45;cursor:default}
/* ===== apresentação (TV) ===== */
.tv-inline,.tv-root{--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--nd:#64748b;background:#06101f;color:#e6edf7}
.tv-inline{border-radius:16px;padding:18px;font-size:13.5px}
.tv-root{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;font-size:clamp(13px,1.12vw,28px);overflow:hidden}
body.tv-on{overflow:hidden}
.tv-head{display:flex;align-items:center;gap:1.6em;padding:.9em 2em;background:#0a2342;border-bottom:.22em solid #0fb5ae}
.tv-head img{height:2.6em}.tv-title{display:flex;flex-direction:column;line-height:1.2}.tv-title b{font-size:1.5em}.tv-title small{opacity:.7}
.tv-state{margin-left:auto;padding:.45em 1.3em;border-radius:999px;font-weight:800;font-size:1.25em;letter-spacing:.04em;text-transform:uppercase}
.tv-clock{text-align:right;display:flex;flex-direction:column;line-height:1.15}.tv-clock b{font-size:2em;font-variant-numeric:tabular-nums}.tv-clock small{opacity:.7;text-transform:capitalize}
.tv-main{flex:1;min-height:0;padding:1.3em 2em;overflow:hidden}
.tv-foot{display:flex;align-items:center;gap:1.4em;padding:.6em 2em;background:#0a1830;font-size:.85em;opacity:.95;position:relative}
.tv-dots{display:flex;gap:.45em}.tv-dots i{width:.7em;height:.7em;border-radius:50%;background:#2a3b5c}.tv-dots i.on{background:#0fb5ae;box-shadow:0 0 .8em #0fb5ae}
.tv-ctl{margin-left:auto;display:flex;gap:.5em;opacity:0;transition:opacity .25s}.tv-ctl.show,.tv-root:hover .tv-ctl:hover{opacity:1}
.tv-ctl button,.tv-ctl select{height:2.2em;border-radius:.6em;background:#16294a;color:#e6edf7;border:1px solid #2a3b5c;padding:0 .9em;font-size:1em;width:auto}
.tv-ctl select{appearance:none;-webkit-appearance:none;background-image:none}.tv-err{color:#fca5a5}
.tv-loading{margin:auto;font-size:2em;opacity:.7}
.tv-banner{border-radius:1.2em;padding:1.4em 2em;margin-bottom:1.1em;display:flex;align-items:baseline;gap:1.2em;flex-wrap:wrap}
.tv-big{font-size:3.4em;font-weight:900;letter-spacing:.02em;text-transform:uppercase;line-height:1}.tv-sub{font-size:1.4em;opacity:.95}
.tv-banner.ok,.tv-state.ok,.tv-pill.ok{background:rgba(34,197,94,.16);color:#86efac;border:.12em solid #22c55e}
.tv-banner.warn,.tv-state.warn,.tv-pill.warn{background:rgba(245,158,11,.16);color:#fcd34d;border:.12em solid #f59e0b}
.tv-banner.bad,.tv-state.bad,.tv-pill.bad{background:rgba(239,68,68,.18);color:#fca5a5;border:.12em solid #ef4444}
.tv-banner.nd,.tv-state.nd,.tv-pill.nd{background:rgba(100,116,139,.18);color:#cbd5e1;border:.12em solid #64748b}
.tv-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:.9em;margin-bottom:1.1em}
.tv-kpi{background:#0d1b33;border-radius:1em;padding:.8em 1.1em;border-left:.35em solid #1d6fe0}.tv-kpi b{display:block;font-size:2.4em;line-height:1.1}.tv-kpi span{opacity:.75;text-transform:uppercase;letter-spacing:.06em;font-size:.8em}
.tv-kpi.ok{border-color:var(--ok)}.tv-kpi.warn{border-color:var(--warn)}.tv-kpi.bad{border-color:var(--bad)}.tv-kpi.nd{border-color:var(--nd)}
.tv-issues{background:#0d1b33;border-radius:1em;padding:1em 1.3em}.tv-issues h4{margin:0 0 .6em;font-size:1.15em}.tv-issues small{opacity:.6;font-weight:400}
.tv-issue{display:grid;grid-template-columns:1.1em minmax(8em,1.1fr) minmax(7em,1fr) 2.2fr;gap:.8em;align-items:center;padding:.38em 0;border-top:1px solid #16294a;font-size:1.02em}
.tv-issue em{font-style:normal;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-dot{width:.8em;height:.8em;border-radius:50%;background:var(--nd);display:inline-block}
.tv-issue.bad .tv-dot,.st-bad .tv-dot{background:var(--bad)}.tv-issue.warn .tv-dot,.st-warn .tv-dot{background:var(--warn)}.st-ok .tv-dot{background:var(--ok)}
.tv-allok{background:rgba(34,197,94,.1);border:.1em dashed #22c55e;color:#86efac;border-radius:1em;padding:1.4em;font-size:1.4em;text-align:center}
.tv-clients{display:grid;grid-template-columns:repeat(auto-fit,minmax(28em,1fr));gap:1.1em;align-items:start}
.tv-client{background:#0d1b33;border-radius:1em;padding:.9em 1.1em 1.1em;border-top:.3em solid var(--nd)}
.tv-client.st-ok{border-color:var(--ok)}.tv-client.st-warn{border-color:var(--warn)}.tv-client.st-bad{border-color:var(--bad)}
.tv-client header{display:flex;justify-content:space-between;align-items:center;gap:.8em;margin-bottom:.5em}.tv-client h3{margin:0;font-size:1.25em}.tv-client h3 small{font-size:.65em;opacity:.6;font-weight:400}
.tv-pill{padding:.18em .8em;border-radius:999px;font-size:.78em;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.tv-chips{display:flex;gap:.5em;flex-wrap:wrap;margin-bottom:.6em}.tv-chip{font-size:.78em;padding:.15em .7em;border-radius:999px;font-weight:700}
.tv-chip.warn{background:rgba(245,158,11,.18);color:#fcd34d}.tv-chip.bad{background:rgba(239,68,68,.2);color:#fca5a5}.tv-chip.ok{background:rgba(34,197,94,.18);color:#86efac}
.tv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5em,1fr));gap:.65em}
.tv-srv{background:#0a1730;border-radius:.8em;padding:.6em .75em;border-left:.32em solid var(--nd);min-width:0}
.tv-srv.st-ok{border-color:var(--ok)}.tv-srv.st-warn{border-color:var(--warn);background:#201a0b}.tv-srv.st-bad{border-color:var(--bad);background:#2a0f14;animation:tvpulse 2.4s ease-in-out infinite}
@keyframes tvpulse{50%{box-shadow:0 0 1.1em rgba(239,68,68,.55)}}
.tv-sh{display:flex;align-items:center;gap:.5em;margin-bottom:.35em;min-width:0}.tv-sh b{font-size:.98em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-al{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;font-size:.72em;font-weight:800;padding:.05em .55em}
.tv-m{display:grid;grid-template-columns:2.3em 1fr 2.6em;align-items:center;gap:.4em;font-size:.78em;margin:.12em 0}.tv-m span{opacity:.65}.tv-m b{text-align:right;font-variant-numeric:tabular-nums}
.tv-bar{height:.5em;background:#1b2c4d;border-radius:999px;overflow:hidden}.tv-bar i{display:block;height:100%;border-radius:999px;background:var(--ok)}.tv-bar i.warn{background:var(--warn)}.tv-bar i.bad{background:var(--bad)}
.tv-m2{font-size:.82em;opacity:.8}.tv-why{display:block;margin-top:.35em;font-size:.74em;color:#fca5a5;line-height:1.25}.tv-srv.st-warn .tv-why{color:#fcd34d}
@media (max-width:900px){.tv-kpis{grid-template-columns:repeat(3,1fr)}.tv-issue{grid-template-columns:1.1em 1fr}.tv-issue em{grid-column:2;white-space:normal}}

/* TV: grade com nº de colunas definido pela medida da tela, sem cortar */
.tv-root .tv-clients{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));align-items:start}
.tv-root .tv-main{display:block}.tv-root .tv-page{transform-origin:top left}
.tv-probe{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none}
.tv-note{margin:0 0 .8em;font-size:.85em;opacity:.65}

/* Microsoft 365 */
.m3-pw{display:flex;align-items:center;gap:10px;background:#f3f5f9;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
.m3-pw code{flex:1;font-size:1.15em;letter-spacing:.06em;font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all;user-select:all}

/* ===== Projetos (estilo Planner) ===== */
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.pj-pc{background:#fff;border:1px solid var(--line);border-top:5px solid var(--pc,#1d6fe0);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}
.pj-pc:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.12)}.pj-pc-h{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:2px}
.pj-prog{height:7px;border-radius:999px;background:#e6ebf3;overflow:hidden;margin:10px 0 8px}.pj-prog i{display:block;height:100%;border-radius:999px;background:var(--ok)}
.pj-pc-f{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.pj-dot{display:inline-block;width:.7em;height:.7em;border-radius:50%;margin-right:.5em}
.pj-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:14px;min-height:55vh}
.pj-col{flex:0 0 290px;background:#eef1f7;border-radius:14px;padding:10px;display:flex;flex-direction:column;max-height:calc(100vh - 290px)}
.pj-col-h{display:flex;align-items:center;gap:8px;padding:2px 4px 8px}.pj-col-h b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-count{background:#dde4f0;color:#4a5878;border-radius:999px;padding:0 9px;font-size:12px;font-weight:700}.pj-more{background:none;border:0;color:#52607a;font-size:20px;line-height:1;padding:0 6px;height:auto;cursor:pointer;border-radius:6px}.pj-more:hover{background:#dde4f0}
.pj-col-body{overflow-y:auto;min-height:36px;display:flex;flex-direction:column;gap:8px;padding:2px;border-radius:10px}.pj-col-body.over{background:rgba(29,111,224,.07)}
.pj-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--pri,#1d6fe0);border-radius:10px;padding:9px 11px;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.06);transition:box-shadow .12s}
.pj-card:hover{box-shadow:0 4px 14px rgba(15,23,42,.14)}.pj-card.dragging{opacity:.4}.pj-card.done .pj-title{text-decoration:line-through;color:var(--mut)}
.pj-lbls{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.pj-lbls i{font-style:normal;color:#fff;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:999px;min-width:26px;min-height:7px}
.pj-ct{display:flex;gap:8px;align-items:flex-start}.pj-title{flex:1;font-size:14px;line-height:1.35;word-break:break-word}
.pj-check{flex:0 0 18px;width:18px;height:18px;border-radius:50%;border:2px solid #9aa8c0;background:#fff;padding:0;cursor:pointer;position:relative;margin-top:1px}
.pj-check.em_andamento{border-color:#1d6fe0;background:linear-gradient(90deg,#1d6fe0 50%,#fff 50%)}.pj-check.concluida{border-color:#16a34a;background:#16a34a}.pj-check.concluida:after{content:"✓";color:#fff;font-size:11px;font-weight:900;position:absolute;left:2px;top:-2px}
.pj-cb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--mut)}.pj-meta.pri{color:#b45309;font-weight:700}
.pj-due{padding:1px 8px;border-radius:6px;background:#eef1f7;font-weight:600}.pj-due.soon{background:#fef3c7;color:#92400e}.pj-due.late{background:#fee2e2;color:#b91c1c}.pj-due.done{background:#dcfce7;color:#166534}
.pj-avs{margin-left:auto;display:flex}.pj-av{width:22px;height:22px;border-radius:50%;color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;margin-left:-6px}.pj-av.more{background:#94a3b8}
.pj-add input,.pj-newcol input{width:100%;background:transparent;border:1px dashed #b7c3d9;border-radius:8px;padding:8px 10px;color:var(--txt)}.pj-add input:focus,.pj-newcol input:focus{background:#fff;border-style:solid}
.pj-newcol{background:transparent;border:0;flex:0 0 240px}.pj-drop{height:4px;border-radius:4px;background:#1d6fe0;margin:2px 0}
.pj-sort{cursor:pointer;user-select:none}.pj-chip{font-style:normal;color:#fff;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:999px;margin-left:4px}.pj-pri{color:var(--c);font-weight:700}
.pj-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pj-wd{background:#f3f5f9;text-align:center;padding:6px;font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase}.pj-day{background:#fff;min-height:96px;padding:5px;font-size:12px}.pj-day.out{background:#fafbfd;opacity:.6}.pj-day.today{box-shadow:inset 0 0 0 2px #1d6fe0}
.pj-ev{margin-top:3px;padding:2px 6px;border-radius:5px;background:#eef1f7;border-left:3px solid var(--pri);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.pj-ev.late{background:#fee2e2}.pj-ev.done{background:#dcfce7;text-decoration:line-through}
.pj-brow{display:grid;grid-template-columns:150px 1fr 34px;gap:10px;align-items:center;margin:7px 0;font-size:13px}.pj-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#e6ebf3}.pj-bar i{display:block;height:100%}
.pj-legend{display:flex;gap:16px;margin:8px 0 12px;font-size:12.5px;color:var(--mut)}.pj-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.pj-tm-h{display:flex;gap:10px;align-items:center;margin-bottom:10px}.pj-tm-h input{flex:1;font-size:1.15em;font-weight:700;border:1px solid transparent;background:transparent;padding:6px 8px}.pj-tm-h input:hover,.pj-tm-h input:focus{border-color:var(--line);background:#fff}
.pt-sec{margin:12px 0}.pt-l{display:block;font-size:12.5px;font-weight:700;color:var(--mut);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.pt-chip{display:inline-flex;align-items:center;gap:6px;background:#eef1f7;border-radius:999px;padding:3px 10px 3px 4px;margin:0 6px 6px 0;font-size:13px}.pt-chip.ext{padding-left:10px;color:var(--mut)}.pt-chip .pj-av{margin-left:0}
.pt-chip button,.pt-ck button,.pt-cm button{background:none;border:0;color:var(--mut);cursor:pointer;font-size:16px;padding:0 4px;height:auto}.pt-chip button:hover,.pt-ck button:hover,.pt-cm button:hover{color:var(--bad)}
.pt-lb{border:2px solid var(--c);background:#fff;color:var(--c);border-radius:999px;padding:2px 12px;margin:0 6px 6px 0;font-weight:700;font-size:12.5px;cursor:pointer;height:auto}.pt-lb.on{background:var(--c);color:#fff}
.pt-ck{display:flex;align-items:center;gap:8px;padding:3px 0}.pt-ck input[type=checkbox]{width:auto;flex:none;margin:0}.pt-ck span{flex:1;min-width:0;overflow-wrap:anywhere}.pt-ck button{flex:none}.pt-ck span.done{text-decoration:line-through;color:var(--mut)}.pt-cm{border-top:1px solid var(--line);padding:8px 0}.pt-cm p{margin:4px 0 0;white-space:pre-wrap}
.pj-sw{width:28px;height:28px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);margin-right:8px;cursor:pointer;padding:0}.pj-sw.on{box-shadow:0 0 0 3px #0a2342}
.pi-g{margin:10px 0;padding-top:6px;border-top:1px solid var(--line)}

/* ===== Relatórios gerais ===== */
.rp-bundles{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.rp-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;margin-bottom:16px}
.rp-cat{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.rp-cat .card h3{margin:0 0 8px}
.rp-item{display:flex;gap:10px;align-items:flex-start;padding:8px 6px;border-radius:8px;cursor:pointer;margin:0}.rp-item:hover{background:#f3f5f9}.rp-item input{margin-top:3px;width:auto}
.rp-opts{position:sticky;top:12px}.rp-opts h3{margin-top:0}
.rp-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 8px}.rp-k{background:#f3f5f9;border-radius:10px;padding:8px 14px;min-width:110px;border-left:4px solid #1d6fe0}
.rp-k b{display:block;font-size:1.4em;line-height:1.2}.rp-k span{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}.rp-k small{display:block;color:var(--mut)}
.rp-k.ok{border-color:#16a34a}.rp-k.warn{border-color:#f59e0b}.rp-k.bad{border-color:#dc2626}
.rp-scroll{overflow-x:auto}.rp-t{font-weight:700}.rp-t.ok{color:#16a34a}.rp-t.warn{color:#d97706}.rp-t.bad{color:#dc2626}.rp-t.info{color:#1d6fe0}.rp-t.mut{color:#6b7a90}
@media (max-width:1000px){.rp-layout{grid-template-columns:1fr}.rp-opts{position:static}}

/* ===== sessões (abas), RDP com arquivos e gravações ===== */
.sess-box{width:min(1480px,98vw);height:min(900px,95vh)}
.sess-bar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid #1f2a37;color:#d3deec}
.sess-bar .ghost{background:transparent;color:#d3deec;border-color:#33445a}.sess-bar .ghost:hover,.sess-bar .ghost.on{background:#17212e}
.sess-tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto}
.sess-tab{display:flex;align-items:center;gap:7px;padding:6px 8px 6px 10px;border-radius:8px 8px 0 0;background:#111a25;border:1px solid #1f2a37;border-bottom:0;cursor:pointer;white-space:nowrap;font-size:13px;color:#aab8cb}
.sess-tab.on{background:#0b0f14;color:#fff;border-color:#33445a}.sess-tab b{font-size:11px;color:#7fb2ff}.sess-tab span{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.sess-tab button{background:none;border:0;color:#7e8da3;font-size:16px;line-height:1;padding:0 4px;height:auto;cursor:pointer}.sess-tab button:hover{color:#ff7a7a}
.sess-dot{width:8px;height:8px;border-radius:50%;background:#64748b;display:inline-block}.sess-dot.ativa{background:#22c55e}.sess-dot.conectando{background:#f59e0b;animation:tvpulse 1.4s infinite}.sess-dot.encerrada{background:#64748b}
.sess-rec{font-style:normal;font-size:10px;font-weight:800;color:#fff;background:#dc2626;border-radius:4px;padding:0 5px;letter-spacing:.05em}
#sess-body{flex:1;min-height:0;position:relative}.sess-pane{position:absolute;inset:0;padding:8px;background:#0b0f14}.sess-pane.hidden{display:none}
.sess-pane .rdp-wrap{width:100%;height:100%;outline:none;overflow:hidden;background:#000}
#sess-dock{position:fixed;right:16px;bottom:16px;z-index:70;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:min(720px,90vw);background:#0a2342;color:#fff;border-radius:14px;padding:8px 10px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
#sess-dock.hidden{display:none}.sess-dock-l{font-size:12px;opacity:.8;margin-right:4px}
.sess-chip{background:#14355f;color:#fff;border:1px solid #2a4f80;border-radius:999px;padding:4px 12px;font-size:12.5px;height:auto;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.sess-chip:hover{background:#1d4a82}
.rdp-notice,.rdp-paste,.rdp-files{position:absolute;z-index:5;background:#0f1722;color:#d3deec;border:1px solid #33445a;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.rdp-notice{top:14px;left:50%;transform:translateX(-50%);padding:8px 12px;display:flex;align-items:center;gap:10px;font-size:13px}
.rdp-paste{top:50px;right:16px;width:360px;padding:12px}.rdp-paste textarea{width:100%;background:#0b0f14;color:#e6edf7;border:1px solid #33445a;border-radius:8px;padding:8px;margin:6px 0}
.rdp-files{top:8px;right:8px;bottom:8px;width:340px;padding:12px;display:flex;flex-direction:column;overflow:hidden}.rf-h{display:flex;justify-content:space-between;align-items:center}
.rf-note{font-size:12px;color:#93a4bb;margin:6px 0}.rf-path{font-size:12px;color:#7fb2ff;word-break:break-all}
.rf-list{flex:1;overflow:auto;margin-top:6px;border-top:1px solid #1f2a37;padding-top:6px}.rf-item{padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;word-break:break-all}.rf-item:hover{background:#17212e}.rf-item.dir{color:#9cc4ff}
.rf-ups{margin:4px 0}.rf-up{position:relative;display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:3px 6px;border-radius:6px;background:#17212e;margin-bottom:3px;overflow:hidden}.rf-up i{position:absolute;left:0;bottom:0;height:2px;background:#1d6fe0}.rf-up.ok i{background:#22c55e}.rf-up.erro i{background:#dc2626}.rf-up span{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rdp-files .btn,.rdp-paste .btn{cursor:pointer}
.rec-term{background:#0b0f14;border-radius:10px;padding:8px;overflow:auto;max-height:60vh}.rec-rdp{background:#000;border-radius:10px;height:min(62vh,640px);overflow:hidden;display:flex;align-items:center;justify-content:center}
.rec-ctl{display:flex;align-items:center;gap:10px;margin-top:10px}.rec-ctl input[type=range]{flex:1;padding:0;height:auto}.rec-ctl select{width:auto}

/* ===== Ficha 360 ===== */
.c3-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.c3-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}.c3-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.12)}
.c3-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.c3-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:14px;align-items:start;margin-top:14px}.c3-wide{grid-column:1/-1}
.c3-grid .card h3{margin:0 0 10px;font-size:15px}
.c3-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#94a3b8}.c3-dot.up{background:#16a34a}.c3-dot.down{background:#dc2626}
kbd{font:600 11px/1 ui-monospace,Menlo,Consolas,monospace;background:#eef1f7;border:1px solid #d5dce8;border-bottom-width:2px;border-radius:5px;padding:2px 6px;color:#44536b}
/* ===== busca global (Ctrl+K) ===== */
.search-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 12px;border-radius:10px;background:#f3f5f9;border:1px solid var(--line);color:var(--mut);cursor:pointer;margin-right:6px;font-size:13px}
.search-btn svg{width:16px;height:16px}.search-btn:hover{background:#e9eef7;color:var(--txt)}.search-btn kbd{margin-left:14px}
.overlay.cmdk{z-index:95;align-items:flex-start;padding-top:12vh;background:rgba(10,35,66,.45)}
.cmdk-box{width:min(720px,94vw);background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;max-height:72vh}
.cmdk-in{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.cmdk-in svg{width:20px;height:20px;color:var(--mut);flex:0 0 auto}
.cmdk-in input{flex:1;border:0;outline:0;font-size:17px;background:transparent;padding:0;height:auto;box-shadow:none;min-width:0}
.cmdk-list{overflow-y:auto;padding:6px 8px 8px}.cmdk-g{font-size:11.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;padding:10px 10px 4px}
.cmdk-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;cursor:pointer}.cmdk-row.on{background:#e8f0fe}
.cmdk-ic{width:30px;height:30px;border-radius:8px;background:#eef1f7;display:flex;align-items:center;justify-content:center;flex:0 0 30px;color:#0a2342}.cmdk-row.on .cmdk-ic{background:#d3e3fd}.cmdk-ic svg{width:17px;height:17px}
.cmdk-t{flex:1;min-width:0;display:flex;flex-direction:column}.cmdk-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-t small{color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-t mark{background:#fde68a;color:inherit;border-radius:3px;padding:0 1px}
.cmdk-chips{display:flex;gap:6px;flex:0 0 auto}.cmdk-chips button{height:26px;padding:0 10px;font-size:12px;border-radius:7px}
.cmdk-empty{padding:28px;text-align:center;color:var(--mut)}
.cmdk-foot{display:flex;gap:16px;flex-wrap:wrap;padding:9px 16px;border-top:1px solid var(--line);background:#f8fafd;font-size:12px;color:var(--mut)}
@media (max-width:700px){.search-btn span,.search-btn kbd{display:none}.search-btn{padding:0 10px}.cmdk-foot{display:none}}

/* ===== código OTP ===== */
.otp-code{font:700 46px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.09em;text-align:center;margin:16px 0 10px;color:#0a2342}
.otp-code.warn{color:#b91c1c}
.otp-bar{height:7px;background:#e5eaf3;border-radius:5px;overflow:hidden}.otp-bar i{display:block;height:100%;width:100%;background:#1a73e8;transition:width .25s linear}.otp-bar i.warn{background:#dc2626}

/* ===== login com Microsoft ===== */
.or{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--mut);font-size:12px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.ms-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}

tr.row-bad td{background:var(--badbg)}

/* projetos privados: acompanhamento por usuário */
.pj-priv{background:var(--infobg);color:var(--accent-d);border:1px solid #c9dcf7;border-radius:9px;padding:8px 12px;margin:0 0 12px;font-size:13px}
.pj-col-user .pj-col-h{border-bottom:2px solid var(--line);margin-bottom:6px}
.pj-ucount{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--mut);padding:0 4px 8px}
.pj-ucount .late{color:var(--bad);font-weight:600}
.pj-ulist{max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin-bottom:8px}
.pj-ulist .chk{margin:3px 0}

/* chamado do Milvus na tarefa */
.pj-tk{background:#e8f1fd;color:#1d5fc0;border-radius:6px;padding:1px 6px;font-weight:600}
.pj-tk.off{background:#eef1f5;color:#6b7a90;font-weight:500}
.pj-tk b{color:#b45309}

/* envio de arquivo por SSH (SFTP) */
.sf-bar{height:6px;background:#e5eaf2;border-radius:4px;overflow:hidden;margin:4px 0}
.sf-bar i{display:block;height:100%;background:var(--accent);transition:width .15s}

.term-drop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(18,110,230,.2);border:2px dashed #4f9cff;color:#fff;font-size:18px;font-weight:600;z-index:6;pointer-events:none}
.term-drop.hidden{display:none}
#modal.overlay{z-index:92}                                    /* o diálogo aparece NA FRENTE da janela de sessão SSH/RDP (z-index 90), mas abaixo da paleta de comandos (95) e dos avisos (200) */
