:root{--bg:#f3f2f8;--card:#fff;--tx:#1f1d2b;--mut:#6b6880;--bd:#e4e1ef;--pri:#6c4fd1;--pri2:#8a6fe8;--ok:#1f8f5f;--okbg:#e5f6ee;--warn:#b7791f;--warnbg:#fdf3dc;--err:#c0392b;--errbg:#fbe9e7;--blue:#2b6fd1;--bluebg:#e6effc}
@media (prefers-color-scheme:dark){:root{--bg:#15131f;--card:#1f1c2d;--tx:#eeecf7;--mut:#a29fba;--bd:#322e47;--pri:#9b82f0;--pri2:#b49df5;--okbg:#14352a;--warnbg:#3a2e12;--errbg:#3d1c18;--bluebg:#16294a;--ok:#4fd19b;--warn:#f0b955;--err:#f07a6c;--blue:#7aaaf0}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:14px/1.45 system-ui,Segoe UI,Roboto,sans-serif}
.top{background:linear-gradient(90deg,#5b43c2,#7b5fd9);color:#fff;padding:12px 16px}
.top .in{max-width:1150px;margin:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.top h1{font-size:18px;margin:0;font-weight:700}.top .sp{flex:1}.top .user{font-size:13px;opacity:.9}
.top button{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}
main{max-width:1150px;margin:auto;padding:16px}
.grid{display:grid;gap:12px}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.g4{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px}
.k{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.v{font-size:22px;font-weight:700;margin-top:4px}.s{font-size:13px;color:var(--mut);margin-top:2px}
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
.p-ok{background:var(--okbg);color:var(--ok)}.p-warn{background:var(--warnbg);color:var(--warn)}.p-err{background:var(--errbg);color:var(--err)}.p-blue{background:var(--bluebg);color:var(--blue)}
.bar{height:8px;background:var(--bd);border-radius:6px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:var(--pri)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{background:var(--pri);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer}
.btn:hover{background:var(--pri2)}.btn:disabled{opacity:.55;cursor:wait}
.btn.sec{background:transparent;color:var(--pri);border:1px solid var(--pri)}.btn.red{background:var(--err)}.btn.sm{padding:5px 10px;font-size:13px;border-radius:8px}
.sec-t{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:22px 0 8px}.sec-t h2{font-size:16px;margin:0}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.tab{border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;font-weight:600}
.tab.on{background:var(--pri);color:#fff;border-color:var(--pri)}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;padding:8px;border-bottom:1px solid var(--bd)}
td{padding:10px 8px;border-bottom:1px solid var(--bd);vertical-align:middle}tr:last-child td{border-bottom:0}
td.act{text-align:right;white-space:nowrap}.mut{color:var(--mut);font-size:13px}
.fontes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.fontes{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fontes{grid-template-columns:1fr}}
.fonte{cursor:pointer;border:2px solid var(--bd)}.fonte:hover{border-color:var(--pri2)}.fonte.on{border-color:var(--pri);box-shadow:0 0 0 3px rgba(108,79,209,.15)}
.fonte h3{margin:0 0 2px;font-size:15px}
.fonte.add{border-style:dashed;display:flex;align-items:center;justify-content:center;color:var(--pri);font-weight:700;min-height:100px}
.fonte .m{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--mut);margin-top:6px}
@media(max-width:640px){thead{display:none}tr{display:block;padding:10px 0;border-bottom:1px solid var(--bd)}td{display:flex;justify-content:space-between;border:0;padding:3px 0}td::before{content:attr(data-l);color:var(--mut);font-size:12px}td.act{justify-content:flex-end;gap:6px;padding-top:8px}td.act::before{content:""}}
.set{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:760px){.set{grid-template-columns:1fr}}
.sw{display:inline-flex;align-items:center;gap:8px;margin-top:8px}.sw input{width:38px;height:20px;accent-color:var(--pri)}
select,input[type=number],input[type=text],input[type=password],textarea{background:var(--card);color:var(--tx);border:1px solid var(--bd);border-radius:8px;padding:8px 10px;font-size:14px;width:100%;font-family:inherit}
.set select,.set input[type=number]{width:auto}
.log{font:13px/1.5 ui-monospace,Consolas,monospace;background:#12101c;color:#d6d2ee;border-radius:10px;padding:10px 12px;max-height:240px;overflow:auto;white-space:pre-wrap}.log .e{color:#ff8f80}.log .o{color:#7fe3b4}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:16px;z-index:9;overflow:auto}.modal.on{display:flex}
.modal .box{background:var(--card);border-radius:14px;padding:18px;max-width:540px;width:100%;max-height:95vh;overflow:auto}.modal h3{margin:0 0 8px}
.f{margin:10px 0}.f label{display:block;font-size:12px;color:var(--mut);font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#1f1d2b;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;display:none;z-index:10;max-width:92vw}
.nota{border-radius:10px;padding:10px 12px;font-size:13px;margin:10px 0}
.nota.b{background:var(--bluebg);color:var(--blue)}.nota.w{background:var(--warnbg);color:var(--warn)}.nota.e{background:var(--errbg);color:var(--err)}
.login{max-width:380px;margin:12vh auto;padding:0 16px}.login .card{padding:22px}.login h1{margin:0 0 4px;font-size:20px}
.chave{font:13px ui-monospace,Consolas,monospace;word-break:break-all;background:var(--bg);border:1px dashed var(--pri);border-radius:8px;padding:10px;user-select:all}
main,.top .in{max-width:1320px}@media(min-width:1500px){body{font-size:15px}.btn{font-size:15px}}

/* ===== Adm Initech VPS: abas, instalar no celular, telas novas ===== */
.view{display:none}.view.on{display:block}
.top .tabs-nav{display:flex;gap:2px;flex-wrap:wrap;flex:0 0 100%;order:9;margin-top:4px}
.top .nav{background:transparent;border:1px solid transparent;color:#fff;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer}
.top .nav.on{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5)}
.top .inst{background:#ffd54a;color:#4a3b00;border:0;font-weight:700}
.t-sm{display:none}
.svc{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--bd)}.svc:last-child{border:0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;background:var(--ok)}.dot.r{background:var(--err)}.dot.a{background:var(--warn)}
.acao{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--bd)}.acao:last-child{border:0}
.acao b{display:block}
@media(max-width:560px){.acao{grid-template-columns:1fr}}
.drop{border:2px dashed var(--bd);border-radius:12px;padding:14px;text-align:center;color:var(--mut);cursor:pointer;margin-top:6px}
.drop.on{border-color:var(--pri);color:var(--tx)}
.inst-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.inst-box{grid-template-columns:1fr}}
.inst-box ol{margin:6px 0 0 18px;padding:0}
.lista-u .row{justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--bd)}.lista-u .row:last-child{border:0}
.pwa-barra{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--bd);padding:10px 16px;display:none;gap:10px;align-items:center;justify-content:space-between;z-index:5}
.pwa-barra.on{display:flex}
.nota.e button{margin-top:6px}
@media(max-width:760px){
  .top{padding:8px 12px 0}
  .top .in{flex-wrap:wrap;gap:6px 8px}
  .top h1{font-size:16px}
  .top .user{display:none}
  .t-lg{display:none}.t-sm{display:inline}
  .top .inst{padding:5px 9px;font-size:15px;border-radius:8px}
  .top .sair{padding:5px 10px}
  .top .tabs-nav{flex:0 0 calc(100% + 24px);margin:0 -12px;padding:0 12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px}
  .top .tabs-nav::-webkit-scrollbar{display:none}
  .top .nav{white-space:nowrap;padding:8px 12px;border-radius:8px 8px 0 0;border:0;opacity:.8}
  .top .nav.on{background:var(--bg);color:var(--tx);opacity:1;border:0}
  main{padding:12px}
}
@media(display-mode:standalone){.top{padding-top:calc(8px + env(safe-area-inset-top))}}
.top .logo{width:34px;height:34px;padding:3px;background:#0d0b26;border-radius:9px;flex:0 0 auto}.login .logo-login{display:block;width:84px;height:84px;margin:0 auto 10px;padding:8px;background:#0d0b26;border-radius:20px}.login h1,.login .mut{text-align:center}
