/* Portal IMT: usa a base visual dos sistemas (base.css) */
.pt-topo { background: var(--black); color: #e9e5da; border-bottom: 3px solid var(--gold); }
.pt-topo .dentro { max-width: 1120px; margin: 0 auto; padding: 16px 20px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pt-topo img { height: 46px; }
.pt-topo .marca { font-family: var(--marca); letter-spacing: .08em; font-size: 1.25rem; background: var(--gold-grad);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.pt-topo .sub { font-size: .8rem; color: #a7a295; }
.pt-topo .quem { text-align: right; font-size: .9rem; }
.pt-topo .quem small { display: block; color: #a7a295; }
.pt-topo button, .pt-topo a.bt { background: none; border: 1px solid #3a3a3a; color: #ddd; border-radius: 8px; padding: 6px 11px;
  cursor: pointer; font-size: .85rem; text-decoration: none; }
.pt-main { max-width: 1120px; margin: 0 auto; padding: 28px 20px 70px; }
.pt-ola h1 { font-size: 1.6rem; }
.pt-ola p { color: var(--ink-2); margin: 6px 0 22px; }
.sistemas { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.sis { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
  padding: 24px 22px 20px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: transform .15s, box-shadow .15s, border-color .15s; overflow: hidden; }
.sis::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--gold-grad); }
.sis:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(20,16,8,.12); border-color: #d9cfae; }
.sis .ic { width: 54px; height: 54px; border-radius: 14px; background: var(--black); color: var(--gold-light); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.sis .ic svg { width: 28px; height: 28px; }
.sis h2 { font-size: 1.2rem; margin-bottom: 6px; }
.sis p { color: var(--ink-2); margin: 0 0 18px; font-size: .93rem; line-height: 1.45; flex: 1; }
.sis .pe { display: flex; align-items: center; justify-content: space-between; font-size: .85rem; color: var(--ink-3); }
.sis .abrir { font-weight: 600; color: var(--brand); }
.sis.off { opacity: .75; }
.sis .aviso-box { margin: 0 0 14px; }
.nada { background: var(--surface); border: 1px dashed #cfc6b0; border-radius: 14px; padding: 30px; text-align: center; color: var(--ink-2); }
.adm-abas { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.funcao { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; margin-bottom: 12px; box-shadow: var(--shadow); }
.funcao .linha { display: grid; grid-template-columns: 1.1fr repeat(4, 1fr) auto; gap: 12px; align-items: end; }
.funcao .linha > label { margin: 0; }
@media (max-width: 900px) {
  .funcao .linha { grid-template-columns: 1fr 1fr; }
  .pt-topo .quem { text-align: left; }
}
