/*----------------------------------------------------------
 * Base elements
 *----------------------------------------------------------*/
* {margin: 0;padding: 0;list-style: none;border: 0;	text-decoration: none;}
hr {display: none;}
h1, h2, h3, h4, h5, h6 {line-height:100%;vertical-align: top;}
input, img, label {vertical-align: top;line-height: 1em;}

/* estrutura */
body {font-family: Calibri, Arial, Helvetica, sans-serif;font-size: 16px;background:#f9f9f3 url(/assets/index_bg-7e1f839d271edee4ff9a965584daddd25c2c78adf955a40e8261a48a8757b6d4.gif) repeat-x;  text-align: center;margin: 0;padding: 0;  overflow-y:scroll;}
.container{width:920px;margin:0 auto;}

/* logo */
h1.logo{float:left;padding:20px 0 0;}
h1.logo a{width:200px;height:99px;background: transparent url(/assets/nobesistemas-new-logo-084717b4cefc12f4fc60720ded9df0fccca90889bf4b8ef60c4db484220bc27f.png) no-repeat center / contain;display: block;text-indent:-9999px;}

/* header */
.header{height:138px;background: transparent url(/assets/index_background-header-1799afd6460ee69225ccfc625c0c75f692ea8c54c6040e82bc0d571a1435c7ae.gif) bottom no-repeat;}
.header ul{float:right;padding-top:65px;}
.header ul li{float:left;padding:0 10px;border-right:1px solid #ccd6e4;}
.header ul li.last{border-right: none;}
.header ul li a{color:#345d86;font-size:1.1em;}
.header ul li a:hover{text-decoration: underline;}
.header ul li a.twitter{color:#3f98ff;padding-left:18px;background:transparent url(/assets/index_twitter-f0d99c9e702d04eb12acd0bf3020651a008d25f2400d6f93065e0c8f74ee0562.gif) left no-repeat;}

/* display */
.display{height:176px;background: transparent url(/assets/index_background-display_clean-2924b4a8b5cf7b81e01331c742156665212bd0708ffb75d8183c3ea832512229.gif) center no-repeat;padding:20px 0;}
.display h2{width:358px;height:64px;background:transparent url(/assets/index_display-text-e66c35cd2c88f915537fbe8be4a242368fc89a3acad8bf7e112fc390c220bf46.png) no-repeat;display:block;text-indent:-9999px;}
.display .info{float:left;font-size:.9em;width:230px;padding:20px 0 0;width:400px;text-align:left;}
.display .info p{color:#e8e5e5;padding-bottom:10px;margin:0;}
.display .info p span{font-weight:bold;color:#f1ed8c;}

/* nav */
.nav{height:55px;margin-bottom:30px;}

/* services */
.service{height:60px;margin-bottom: 10px;color:#454242;float:left;clear:both;}
.service .image{float:left;width:60px;height:60px;display:block;}
.service .description{text-align:left;font-size:0.8em;margin-left:10px;width:360px;float:left;}
.service .description h3{margin-bottom:5px;font-weight: bold;font-size:1.3em;}
.service .description p a{color:#3f98ff;text-decoration: underline;cursor:pointer;}

/* content */
#content{width:920px;background:none;}
.content{padding-top:30px;}
.col-1{float:left;}
.col-2{background:transparent url(/assets/index_background-col2-e06f19b20c4e03a704aabb3a458b97c78a3e89d651402aadd49e65b7ea0879d9.gif) no-repeat;margin-left:450px;height:100%;padding-left:60px;width:350px;}

#content fieldset{width:auto;}
#content fieldset.no-highlight{background:#f9f9f3!important;}
#content label{float:left;color:#4f7ead;font-size:1em;margin-bottom:5px;}
#content .field{margin-bottom:20px;}

/* Landing pública (/): seleção de município.
   Isola esta página dos estilos globais modernos do sistema interno. */
body.welcome-page {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  color: #233044;
  background:
    radial-gradient(circle at top left, rgba(57, 167, 239, .18), transparent 34%),
    linear-gradient(180deg, #f7fbff 0%, #eef5fb 44%, #e8f0f7 100%);
  text-align: left;
  font-family: "Inter", "Segoe UI", Calibri, Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

body.welcome-page .container {
  width: unquote("min(1180px, calc(100% - 48px))");
  margin: 28px auto;
  padding: 0 0 30px;
  overflow: hidden;
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(207, 221, 233, .9);
  border-radius: 18px;
  box-shadow: 0 22px 55px rgba(18, 46, 76, .12);
}

body.welcome-page .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: auto;
  min-height: 118px;
  padding: 24px 48px 18px;
  background: #ffffff;
  border-bottom: 1px solid #d9e6f1;
  box-sizing: border-box;
}

body.welcome-page h1.logo {
  float: none;
  padding: 0;
}

body.welcome-page h1.logo a {
  display: block;
  width: 200px;
  height: 99px;
  background: transparent url(/assets/nobesistemas-new-logo-084717b4cefc12f4fc60720ded9df0fccca90889bf4b8ef60c4db484220bc27f.png) no-repeat center / contain;
  text-indent: -9999px;
}

body.welcome-page .header ul {
  float: none;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0;
}

body.welcome-page .header ul li {
  float: none;
  padding: 0;
  border: 0;
}

body.welcome-page .header ul li a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  color: #1f4f78;
  background: #f6fbff;
  border: 1px solid #cfe1ee;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 650;
}

body.welcome-page .display {
  height: 270px;
  margin: 0;
  padding: 0;
  background: #2f6f9f url(/assets/index_background-display_clean-2924b4a8b5cf7b81e01331c742156665212bd0708ffb75d8183c3ea832512229.gif) center / cover no-repeat;
  border-bottom: 1px solid #cbddeb;
  position: relative;
}

body.welcome-page .display h2 {
  width: 420px;
  height: 90px;
  margin: 0;
  position: absolute;
  left: 48px;
  top: 40px;
  background: transparent url(/assets/index_display-text-e66c35cd2c88f915537fbe8be4a242368fc89a3acad8bf7e112fc390c220bf46.png) no-repeat left top / contain;
  text-indent: -9999px;
}

body.welcome-page .display .info {
  float: none;
  width: 470px;
  padding: 0;
  position: absolute;
  left: 48px;
  bottom: 36px;
  text-align: left;
  font-size: 17px;
}

body.welcome-page .display .info p {
  margin: 0;
  padding: 0;
  color: #ffffff;
  line-height: 1.45;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .22);
}

body.welcome-page .display .info p span {
  color: #f4ed80;
  font-weight: 750;
}

body.welcome-page .nav {
  display: none;
}

body.welcome-page #content.content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 44px;
  width: auto !important;
  max-width: none !important;
  margin: 0;
  padding: 42px 48px 0;
  background: transparent !important;
  box-sizing: border-box;
}

body.welcome-page .col-1,
body.welcome-page .col-2 {
  float: none;
  width: auto;
  height: auto !important;
  margin: 0;
  padding: 0;
  background: none;
}

body.welcome-page .col-1 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.welcome-page .service {
  float: none;
  clear: none;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 14px;
  height: auto;
  min-height: 86px;
  margin: 0;
  padding: 16px;
  color: #233044;
  background: #ffffff;
  border: 1px solid #dfe8f1;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(31, 66, 100, .07);
  box-sizing: border-box;
}

body.welcome-page .service .image {
  float: none;
  width: 60px;
  height: 60px;
}

body.welcome-page .service .image img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain;
}

body.welcome-page .service .description {
  float: none;
  width: auto;
  margin: 0;
  color: #334155;
  font-size: 14px;
  text-align: left;
}

body.welcome-page .service .description h3 {
  margin: 0 0 6px;
  color: #123d63;
  font-size: 18px;
  font-weight: 750;
}

body.welcome-page .service .description p {
  margin: 0;
  line-height: 1.38;
}

body.welcome-page #select_city_form {
  padding: 24px;
  background: #f8fbfe;
  border: 1px solid #dfe8f1;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(31, 66, 100, .08);
}

body.welcome-page #content fieldset,
body.welcome-page #content fieldset.no-highlight {
  width: auto !important;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.welcome-page #content .field {
  margin: 0 0 14px;
}

body.welcome-page #content label {
  float: none;
  display: block;
  margin: 0 0 10px;
  color: #1f4f78;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}

body.welcome-page #content input.text {
  display: block;
  width: 100% !important;
  min-height: 44px;
  padding: 10px 12px;
  color: #26374a;
  background: #ffffff;
  border: 1px solid #cbd8e4;
  border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(15, 38, 64, .04);
  box-sizing: border-box;
  font-size: 16px;
}

body.welcome-page #content input.text:focus {
  border-color: #2b91d1;
  box-shadow: 0 0 0 3px rgba(43, 145, 209, .14);
  outline: 0;
}

body.welcome-page #content input.button.submit {
  min-height: 40px;
  padding: 9px 18px !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #2292d0 0%, #1478b3 100%) !important;
  border: 1px solid #1478b3 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 18px rgba(20, 120, 179, .18);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 980px) {
  body.welcome-page .container {
    width: calc(100% - 28px);
    margin: 14px auto;
  }

  body.welcome-page .header {
    padding: 20px 24px 16px;
  }

  body.welcome-page .display h2,
  body.welcome-page .display .info {
    left: 24px;
    max-width: calc(100% - 48px);
  }

  body.welcome-page #content.content {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 24px 0;
  }

  body.welcome-page .col-1 {
    grid-template-columns: 1fr;
  }
}

/* Versão limpa da landing pública. */
body.welcome-page .welcome-shell {
  width: unquote("min(1180px, calc(100% - 48px))");
  margin: 28px auto;
  overflow: hidden;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(207, 221, 233, .9);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(18, 46, 76, .13);
}

body.welcome-page .welcome-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 112px;
  padding: 18px 42px 14px;
  background: #ffffff;
  border-bottom: 1px solid #d9e6f1;
  box-sizing: border-box;
}

body.welcome-page .welcome-logo {
  float: none;
  margin: 0;
  padding: 0;
  transform: translateY(-8px);
}

body.welcome-page .welcome-logo a {
  display: block;
  width: 210px;
  height: 84px;
  background: transparent url(/assets/nobesistemas-new-logo-084717b4cefc12f4fc60720ded9df0fccca90889bf4b8ef60c4db484220bc27f.png) no-repeat left 42% / 170px auto;
  text-indent: -9999px;
}

body.welcome-page .welcome-support {
  display: flex;
  align-items: center;
}

body.welcome-page .welcome-support a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  color: #1f4f78;
  background: #f6fbff;
  border: 1px solid #cfe1ee;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

body.welcome-page .welcome-support a:hover {
  color: #11385b;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(4, 25, 48, .10);
}

body.welcome-page .welcome-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 38px;
  padding: 54px 42px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.26), transparent 28%),
    linear-gradient(135deg, #0b3763 0%, #155f93 58%, #1c8ac7 100%);
  color: #ffffff;
}

body.welcome-page .welcome-hero__content {
  max-width: 650px;
}

body.welcome-page .welcome-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  margin: 0 0 18px;
  color: #dff2ff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.welcome-page .welcome-hero h2 {
  margin: 0 0 18px;
  max-width: 620px;
  color: #ffffff;
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.05;
}

body.welcome-page .welcome-hero p {
  margin: 0;
  max-width: 620px;
  color: rgba(255,255,255,.88);
  font-size: 18px;
  line-height: 1.55;
}

body.welcome-page .welcome-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
}

body.welcome-page .welcome-highlights li {
  padding: 12px 14px;
  color: #eef9ff;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  font-size: 14px;
  font-weight: 650;
}

body.welcome-page .welcome-access-card {
  align-self: center;
  padding: 26px;
  color: #233044;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(0, 20, 45, .18);
}

body.welcome-page .welcome-access-card h3 {
  margin: 0 0 8px;
  color: #123d63;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.02em;
}

body.welcome-page .welcome-access-card > p {
  margin: 0 0 20px;
  color: #61758b;
  font-size: 15px;
  line-height: 1.45;
}

body.welcome-page #select_city_form,
body.welcome-page .welcome-access-card #select_city_form {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.welcome-page .welcome-access-card fieldset,
body.welcome-page .welcome-access-card fieldset.no-highlight {
  width: auto !important;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.welcome-page .welcome-access-card .field {
  margin: 0 0 14px;
}

body.welcome-page .welcome-access-card label {
  float: none;
  display: block;
  margin: 0 0 8px;
  color: #244864;
  font-size: 15px;
  font-weight: 750;
}

body.welcome-page .welcome-access-card input.text {
  display: block;
  width: 100% !important;
  min-height: 46px;
  padding: 10px 13px;
  color: #26374a;
  background: #ffffff;
  border: 1px solid #cbd8e4;
  border-radius: 12px;
  box-shadow: inset 0 1px 2px rgba(15, 38, 64, .04);
  box-sizing: border-box;
  font-size: 16px;
}

body.welcome-page .welcome-access-card input.text:focus {
  border-color: #2b91d1;
  box-shadow: 0 0 0 3px rgba(43, 145, 209, .14);
  outline: 0;
}

body.welcome-page .welcome-submit-field {
  margin-bottom: 0 !important;
}

body.welcome-page .welcome-access-card input.button.submit {
  width: 100%;
  min-height: 44px;
  padding: 10px 18px !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #2292d0 0%, #1478b3 100%) !important;
  border: 1px solid #1478b3 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 22px rgba(20, 120, 179, .22);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

body.welcome-page .ac_results {
  margin-top: 8px;
  padding: 6px;
  color: #233044;
  background: rgba(255, 255, 255, .98);
  border: 1px solid #cbd8e4;
  border-radius: 14px;
  box-shadow: 0 18px 38px rgba(18, 46, 76, .16);
  overflow: hidden;
  z-index: 100000 !important;
  box-sizing: border-box;
}

body.welcome-page .ac_results ul {
  margin: 0;
  padding: 0;
}

body.welcome-page .ac_results li {
  min-height: 38px;
  margin: 0;
  padding: 10px 12px;
  color: #233044;
  background: transparent;
  border-radius: 10px;
  box-sizing: border-box;
  cursor: pointer;
  font-family: "Inter", "Segoe UI", Calibri, Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 650;
  line-height: 18px;
  text-align: left;
}

body.welcome-page .ac_results li + li {
  margin-top: 2px;
}

body.welcome-page .ac_results .ac_odd {
  background: transparent;
}

body.welcome-page .ac_results .ac_over {
  color: #123d63;
  background: #eef4f9;
  box-shadow: inset 3px 0 0 #9fb7ca;
}

body.welcome-page #content.welcome-services,
body.welcome-page .welcome-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: auto !important;
  max-width: none !important;
  margin: 0;
  padding: 28px 42px 42px;
  background: #f7fbff !important;
  box-sizing: border-box;
}

body.welcome-page .welcome-service {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-height: 0;
  padding: 18px;
  background: #ffffff;
  border: 1px solid #dfe8f1;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(31, 66, 100, .06);
  box-sizing: border-box;
}

body.welcome-page .welcome-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  color: #1478b3;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.92), rgba(255,255,255,.22) 36%, transparent 62%),
    linear-gradient(135deg, #e7f5ff 0%, #cdeaff 100%);
  border: 1px solid #b9daf0;
  border-radius: 16px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 10px 20px rgba(20, 120, 179, .12);
  box-sizing: border-box;
}

body.welcome-page .welcome-service__icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.welcome-page .welcome-service__icon--city {
  color: #116fa9;
}

body.welcome-page .welcome-service__icon--nfe {
  color: #2178b8;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.92), rgba(255,255,255,.20) 36%, transparent 62%),
    linear-gradient(135deg, #eef7ff 0%, #d8ecff 100%);
}

body.welcome-page .welcome-service__icon--guide {
  color: #1682ad;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.92), rgba(255,255,255,.22) 36%, transparent 62%),
    linear-gradient(135deg, #e8fbff 0%, #ceeff8 100%);
}

body.welcome-page .welcome-service__icon--taxpayer {
  color: #2d6fb0;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.92), rgba(255,255,255,.22) 36%, transparent 62%),
    linear-gradient(135deg, #edf4ff 0%, #d7e7ff 100%);
}

body.welcome-page .welcome-service h3 {
  margin: 0 0 6px;
  color: #123d63;
  font-size: 17px;
  font-weight: 800;
}

body.welcome-page .welcome-service p {
  margin: 0;
  color: #52657a;
  font-size: 14px;
  line-height: 1.38;
}

@media (max-width: 1100px) {
  body.welcome-page .welcome-hero {
    grid-template-columns: 1fr;
  }

  body.welcome-page .welcome-access-card {
    max-width: 520px;
  }

  body.welcome-page .welcome-services {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.welcome-page .welcome-shell {
    width: calc(100% - 24px);
    margin: 12px auto;
    border-radius: 18px;
  }

  body.welcome-page .welcome-header {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  body.welcome-page .welcome-hero {
    padding: 34px 22px;
  }

  body.welcome-page .welcome-hero h2 {
    font-size: 34px;
  }

  body.welcome-page .welcome-highlights {
    grid-template-columns: 1fr;
  }

  body.welcome-page #content.welcome-services,
  body.welcome-page .welcome-services {
    grid-template-columns: 1fr !important;
    padding: 22px;
  }
}
