body{margin:0;font-family:Segoe UI,Arial;background:#f4f7fb;color:#203249}.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.side{background:linear-gradient(#0879bd,#04355f);padding:18px 14px}.logo{background:#fff;border-radius:12px;padding:8px}.logo img{width:100%;display:block}.nav a{display:block;color:#fff;text-decoration:none;padding:11px 12px;margin:4px 0;border-radius:8px}.nav a:hover,.nav a.on{background:#ffffff2b}.top{min-height:78px;background:#fff;border-bottom:1px solid #dce5ef;display:flex;justify-content:space-between;align-items:center;padding:0 26px}.top h1{margin:0}.content{padding:24px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:18px}.card,.panel{background:#fff;border:1px solid #dce5ef;border-radius:13px;padding:18px}.panel{margin-bottom:18px}.card span{color:#6b7b90;font-size:13px}.card strong{display:block;font-size:28px;color:#04355f;margin-top:5px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.span2{grid-column:span 2}.span4{grid-column:span 4}label{font-size:13px;font-weight:600}input,select,textarea{width:100%;padding:10px;border:1px solid #ccd8e5;border-radius:7px;margin-top:6px;box-sizing:border-box;font:inherit}.btn{border:0;border-radius:7px;padding:9px 12px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#0879bd;color:#fff}.ghost{background:#fff;border:1px solid #ccd8e5;color:#203249}.flow{display:flex;gap:8px;flex-wrap:wrap}.step{min-width:135px;flex:1;border:1px solid #dce5ef;border-radius:9px;padding:10px;font-size:12px}.tag{padding:4px 7px;border-radius:99px;background:#e7f2fb;font-size:11px}.tag.green{background:#e9f8f2;color:#087f5b}.tag.orange{background:#fff1e5;color:#c65d00}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px;border-bottom:1px solid #e7edf4;text-align:left}th{background:#f7f9fc}.actions{display:flex;gap:6px}.alert{background:#fff0f0;border:1px solid #ffc9c9;padding:10px;border-radius:8px}.ok{background:#edfbf5;border:1px solid #bfe8d5;padding:10px;border-radius:8px}.login{max-width:430px;margin:70px auto;background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:25px}.login img{width:100%;max-height:95px;object-fit:contain}.section-title{margin:26px 0 12px;padding-bottom:8px;border-bottom:2px solid #e8eef5;color:#064d82}.tabs-note{font-size:12px;color:#6b7b90}.searchable{position:relative}.search-menu{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid #bfcddd;border-radius:8px;max-height:240px;overflow:auto;box-shadow:0 8px 20px #26384d22}.search-option{padding:9px 10px;cursor:pointer;font-weight:400}.search-option:hover{background:#eef6fd}.search-empty{padding:10px;color:#6b7b90;font-weight:400}.muted{color:#6b7b90}.two-seq{font-size:12px}.two-seq b{display:inline-block;margin-right:12px}.ficha-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.mono{font-family:Consolas,monospace}.group-map select{margin:0;min-width:260px}@media(max-width:1100px){.layout{grid-template-columns:210px 1fr}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr 1fr}.span4{grid-column:span 2}}@media(max-width:700px){.layout{grid-template-columns:1fr}.side{position:relative}.cards,.grid{grid-template-columns:1fr}.span2,.span4{grid-column:span 1}}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-check{border:1px solid #dce5ef;border-radius:8px;padding:10px;background:#f9fbfd}.role-check input{width:auto;margin:0 7px 0 0}.actions{flex-wrap:wrap}@media(max-width:800px){.role-grid{grid-template-columns:1fr}}

.password-wrap{display:flex;align-items:stretch;gap:6px;margin-top:6px}
.password-wrap input{margin-top:0;min-width:0}
.password-toggle{flex:0 0 46px;border:1px solid #ccd8e5;background:#fff;border-radius:7px;cursor:pointer;font-size:18px}
.password-toggle:hover{background:#f3f7fb}
.role-check{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;align-items:center;min-height:42px}
.role-check:hover{background:#f1f7fc;border-color:#aac7dd}
.role-check.selected{background:#e7f4fd;border-color:#0879bd;box-shadow:inset 4px 0 0 #0879bd}
.role-check.selected span{font-weight:700;color:#064d82}
.danger{background:#fff0f0;border:1px solid #efb7b7;color:#a62424}
.danger:hover{background:#ffe2e2}
.inline-form{display:inline;margin:0}

/* HubPlas V0.4.3 - correção visual e cache */
.role-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  width:100% !important;
}
.role-check{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
  min-height:46px !important;
  padding:9px 14px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  border:1px solid #d9e3ed !important;
  border-radius:8px !important;
  background:#fff !important;
  cursor:pointer !important;
}
.role-check input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  flex:0 0 18px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:3px !important;
  box-shadow:none !important;
}
.role-check span{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  line-height:1.35 !important;
}
.role-check.selected{
  background:#e9f5fd !important;
  border-color:#0879bd !important;
  box-shadow:inset 5px 0 0 #0879bd !important;
}
.role-check.selected span{
  color:#064d82 !important;
  font-weight:700 !important;
}
@media (hover:hover) and (pointer:fine){
  .role-check:hover{
    background:#f4f9fd !important;
    border-color:#9fc5df !important;
  }
}
.password-wrap{
  position:relative !important;
  display:block !important;
  margin-top:6px !important;
}
.password-wrap input{
  margin-top:0 !important;
  padding-right:52px !important;
}
.password-toggle{
  position:absolute !important;
  right:5px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:34px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  cursor:pointer !important;
  font-size:18px !important;
  line-height:1 !important;
  z-index:2 !important;
}
.password-toggle:hover{
  background:#eef5fb !important;
  border-radius:6px !important;
}
