/* Licitacoes - PNTP 2026 (dimensao 8). Usado pelo 81.php.
   Cor e largura vem do 81.php (style="--c:...;--lic8-largura:..."). Tudo restrito a .lic8 / .lic8-painel. */
.lic8-painel { --c: #00873f; --c50: color-mix(in srgb, var(--c) 10%, #fff); }
.lic8-painel .mod { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 6px; background: var(--c50); color: var(--c); }

.lic8 {
	--c: #00873f;
	--c50: color-mix(in srgb, var(--c) 10%, #fff);
	--ink: #0b1220;
	--ink2: #334155;
	--ink3: #64748b;
	--ink4: #94a3b8;
	--ln: #e6e9ef;
	--ln2: #f1f3f7;
	--bg: #f6f7f9;
	color: var(--ink);
	font-size: 14px;
	line-height: 1.45;
	margin: 18px auto 36px;
	max-width: var(--lic8-largura, 1440px);
	padding: 0 24px
}

.lic8 * {
	box-sizing: border-box
}

.lic8 a {
	text-decoration: none;
	color: inherit
}

.lic8 h1 {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -.01em;
	margin: 0 0 6px;
	color: var(--ink)
}

.lic8 .lead {
	color: var(--ink3);
	margin: 0 0 12px
}

.lic8 .fresh {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid var(--ln);
	border-radius: 999px;
	padding: 5px 12px 5px 10px;
	font-size: 12.5px;
	color: var(--ink2)
}

.lic8 .fresh i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #16a34a;
	box-shadow: 0 0 0 4px #dcfce7
}

.lic8 .topo {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap
}

.lic8 .topo .acoes {
	display: flex;
	gap: 8px;
	flex-wrap: wrap
}

.lic8 .abas {
	display: flex;
	gap: 2px;
	border-bottom: 1px solid var(--ln);
	margin: 18px 0 0;
	flex-wrap: wrap
}

.lic8 .abas a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 11px 14px;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--ink3);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	white-space: nowrap
}

.lic8 .abas a:hover {
	color: var(--ink)
}

.lic8 .abas a.on {
	color: var(--ink);
	border-color: var(--c)
}

.lic8 .abas em {
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	background: #f1f5f9;
	color: var(--ink3);
	border-radius: 999px;
	padding: 1px 7px
}

.lic8 .abas a.on em {
	background: var(--c50);
	color: var(--c)
}

.lic8 .abas .crit,
.lic8 .crit {
	font-size: 10px;
	font-weight: 700;
	color: var(--ink4);
	letter-spacing: .03em
}

.lic8 .abas .ext {
	margin-left: auto
}

.lic8 .legenda {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px;
	color: var(--ink3);
	font-size: 12px
}

.lic8 .legenda a {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--ln);
	border-radius: 999px;
	padding: 4px 10px;
	font-weight: 600;
	color: var(--ink2)
}

.lic8 .legenda a:before {
	content: "✓";
	color: #16a34a;
	font-weight: 800
}

.lic8 .card {
	background: #fff;
	border: 1px solid var(--ln);
	border-radius: 14px
}

.lic8 form.filtros {
	margin: 16px 0 14px;
	padding: 12px
}

.lic8 .linha {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap
}

.lic8 .anos {
	display: flex;
	background: #f1f5f9;
	border-radius: 10px;
	padding: 3px;
	flex-wrap: wrap
}

.lic8 .anos a {
	padding: 7px 12px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 13px;
	color: var(--ink3)
}

.lic8 .anos a.on {
	background: #fff;
	color: var(--ink);
	box-shadow: 0 1px 2px rgba(15, 23, 42, .12)
}

.lic8 .anos select {
	border: 0;
	background: transparent;
	font-weight: 600;
	font-size: 13px;
	color: var(--ink3);
	padding: 0 6px;
	height: 32px
}

.lic8 label.sel {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	border: 1px solid var(--ln);
	border-radius: 10px;
	padding: 0 4px 0 12px;
	background: #fff;
	font-size: 12px;
	color: var(--ink3)
}

.lic8 label.sel.on {
	border-color: var(--c);
	background: var(--c50);
	color: var(--c)
}

.lic8 label.sel select {
	border: 0;
	background: transparent;
	font-size: 13px;
	color: var(--ink);
	height: 34px;
	max-width: 210px;
	font-weight: 500
}

.lic8 .busca {
	flex: 1;
	min-width: 220px;
	display: flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	border: 1px solid var(--ln);
	border-radius: 10px;
	padding: 0 10px;
	background: #fff
}

.lic8 .busca input {
	border: 0;
	outline: 0;
	flex: 1;
	font-size: 13.5px;
	background: transparent;
	color: var(--ink)
}

.lic8 .btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 38px;
	padding: 0 14px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 13.5px;
	border: 1px solid var(--ln);
	background: #fff;
	color: var(--ink);
	cursor: pointer;
	white-space: nowrap
}

.lic8 .btn:hover {
	border-color: var(--ink4)
}

.lic8 .btn-c {
	background: var(--c);
	border-color: var(--c);
	color: #fff
}

.lic8 .ativos {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 10px
}

.lic8 .ativos a.chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--c50);
	color: var(--c);
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 600
}

.lic8 .ativos a.limpar {
	font-size: 12px;
	color: var(--ink3);
	text-decoration: underline
}

.lic8 .tbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 16px;
	border-bottom: 1px solid var(--ln)
}

.lic8 .tbar .r {
	display: flex;
	gap: 8px;
	position: relative;
	flex-wrap: wrap
}

.lic8 .menu {
	position: absolute;
	right: 0;
	top: 44px;
	width: 250px;
	background: #fff;
	border: 1px solid var(--ln);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, .14);
	padding: 6px;
	z-index: 30;
	display: none
}

.lic8 .menu.on {
	display: block
}

.lic8 .menu button {
	display: flex;
	width: 100%;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border: 0;
	background: none;
	border-radius: 8px;
	font-size: 13px;
	cursor: pointer;
	color: var(--ink);
	text-align: left
}

.lic8 .menu button:hover {
	background: #f1f5f9
}

.lic8 .menu small {
	margin-left: auto;
	color: var(--ink4);
	font-size: 11px
}

.lic8 .ft {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 22px;
	border-radius: 5px;
	font-size: 9.5px;
	font-weight: 800;
	color: #fff
}

.lic8 .tw {
	overflow-x: auto
}

.lic8 table.t {
	width: 100%;
	border-collapse: collapse;
	margin: 0
}

.lic8 table.t caption {
	position: absolute;
	left: -9999px
}

.lic8 table.t th {
	background: #fbfcfd;
	text-align: left;
	font-size: 11.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink3);
	font-weight: 700;
	padding: 11px 16px;
	border-bottom: 1px solid var(--ln);
	white-space: nowrap
}

.lic8 table.t th.r {
	text-align: right
}

.lic8 table.t th a {
	color: inherit
}

.lic8 table.t th a.on {
	color: var(--ink)
}

.lic8 table.t th small {
	color: var(--c);
	margin-left: 3px
}

.lic8 table.t td {
	padding: 13px 16px;
	border-bottom: 1px solid var(--ln2);
	vertical-align: middle;
	background: #fff
}

.lic8 table.t tr:hover td {
	background: #fcfdfd
}

.lic8 .r {
	text-align: right
}

.lic8 .mod {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--c50);
	color: var(--c);
	margin-bottom: 5px
}

.lic8 .lic b {
	display: block;
	font-size: 14px;
	white-space: nowrap
}

.lic8 td.lic {
	min-width: 150px
}

.lic8 .obj {
	max-width: 620px;
	min-width: 260px;
	color: var(--ink2);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.lic8 .dt b {
	display: block;
	font-weight: 600;
	white-space: nowrap
}

.lic8 .dt small,
.lic8 .vl small {
	display: block;
	font-size: 11.5px;
	color: var(--ink3);
	white-space: nowrap
}

.lic8 .dt small.logo {
	color: #2563eb;
	font-weight: 700
}

.lic8 .vl b {
	white-space: nowrap
}

.lic8 .eco {
	display: inline-block;
	margin-top: 3px;
	font-size: 11px;
	font-weight: 700;
	color: #15803d;
	background: #ecfdf3;
	border-radius: 5px;
	padding: 1px 6px
}

.lic8 .ni {
	color: #b45309;
	font-weight: 600;
	font-size: 12.5px;
	white-space: nowrap
}

.lic8 .st,
.lic8-painel .st {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 600;
	padding: 4px 10px 4px 8px;
	border-radius: 999px;
	white-space: nowrap
}

.lic8 .st:before,
.lic8-painel .st:before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor
}

.lic8 .st.abe,
.lic8-painel .st.abe {
	background: #eff4ff;
	color: #2563eb
}

.lic8 .st.and,
.lic8-painel .st.and {
	background: #fff7e6;
	color: #b45309
}

.lic8 .st.hom,
.lic8-painel .st.hom {
	background: #ecfdf3;
	color: #15803d
}

.lic8 .st.enc,
.lic8-painel .st.enc {
	background: #f1f5f9;
	color: #475569
}

.lic8 .st.rev,
.lic8-painel .st.rev {
	background: #fdecec;
	color: #b91c1c
}

.lic8 .docs {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px 4px 8px;
	border-radius: 999px;
	background: var(--c50);
	color: var(--c);
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap
}

.lic8 .docs svg {
	flex: none
}

.lic8 .docs.zero {
	background: #f1f5f9;
	color: var(--ink4)
}

.lic8 .ver {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 32px;
	padding: 0 10px;
	border-radius: 8px;
	border: 1px solid var(--ln);
	background: #fff;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ink2);
	cursor: pointer;
	white-space: nowrap
}

.lic8 .rod {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 12px 16px;
	color: var(--ink3);
	font-size: 12.5px
}

.lic8 .rod select {
	border: 1px solid var(--ln);
	border-radius: 8px;
	height: 30px;
	font-size: 12.5px
}

.lic8 .pg {
	display: flex;
	gap: 4px;
	flex-wrap: wrap
}

.lic8 .pg a,
.lic8 .pg span {
	min-width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	padding: 0 8px;
	border-radius: 8px;
	border: 1px solid var(--ln);
	font-weight: 600;
	color: var(--ink2);
	background: #fff
}

.lic8 .pg .on {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff
}

.lic8 .pg span.gap {
	border: 0;
	background: none
}

.lic8 .decl {
	margin: 0;
	padding: 22px 20px;
	background: #fffbeb;
	border-top: 1px solid #fde68a;
	color: #78350f;
	line-height: 1.6
}

.lic8 .erro {
	padding: 18px;
	background: #fdecec;
	border-radius: 12px;
	color: #991b1b
}

/* painel de detalhe */
.lic8-fundo {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, .42);
	z-index: 9998;
	display: none
}

.lic8-painel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(640px, 100%);
	background: #fff;
	z-index: 9999;
	box-shadow: -20px 0 50px rgba(15, 23, 42, .25);
	overflow-y: auto;
	display: none;
	font-size: 14px;
	color: #0b1220
}

.lic8-aberto .lic8-fundo,
.lic8-aberto .lic8-painel {
	display: block
}

.lic8-painel .ph {
	padding: 20px 24px 16px;
	border-bottom: 1px solid #e6e9ef;
	background: #fff
}

.lic8-painel .fechar {
	position: fixed;
	top: 16px;
	right: 18px;
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	border: 1px solid #e6e9ef;
	background: #fff;
	font-size: 16px;
	cursor: pointer
}

.lic8-painel h2 {
	font-size: 21px;
	margin: 10px 40px 6px 0
}

.lic8-painel .pb {
	padding: 18px 24px 28px
}

.lic8-painel .grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 10px;
	margin-bottom: 18px
}

.lic8-painel .f {
	border: 1px solid #e6e9ef;
	border-radius: 10px;
	padding: 10px 12px
}

.lic8-painel .f small {
	display: block;
	font-size: 11px;
	color: #64748b;
	font-weight: 600;
	margin-bottom: 3px
}

.lic8-painel h3 {
	font-size: 14px;
	margin: 0 0 8px
}

.lic8-painel .doc {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 2px;
	border-bottom: 1px solid #f1f3f7
}

.lic8-painel .doc .ic {
	width: 34px;
	height: 40px;
	border-radius: 6px;
	background: #fdecec;
	color: #b91c1c;
	display: grid;
	place-items: center;
	font-size: 9.5px;
	font-weight: 800;
	flex: none
}

.lic8-painel .doc b {
	display: block;
	font-size: 13.5px;
	font-weight: 600
}

.lic8-painel .doc small {
	font-size: 11.5px;
	color: #64748b
}

.lic8-painel .doc a.bx {
	margin-left: auto;
	height: 32px;
	padding: 0 12px;
	border-radius: 8px;
	border: 1px solid #e6e9ef;
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	font-size: 12.5px;
	color: #0b1220;
	text-decoration: none;
	white-space: nowrap
}

.lic8-painel .acts {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px
}

.lic8-painel .acts a,
.lic8-painel .acts button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 12px;
	border-radius: 9px;
	font-weight: 600;
	font-size: 12.5px;
	border: 1px solid #e6e9ef;
	background: #fff;
	color: #0b1220;
	text-decoration: none;
	cursor: pointer
}

.lic8-painel .acts .pri {
	background: var(--c);
	border-color: var(--c);
	color: #fff
}

.lic8-painel .qr {
	display: none;
	margin-top: 12px;
	padding: 12px;
	border: 1px solid #e6e9ef;
	border-radius: 12px;
	text-align: center;
	font-size: 12px;
	color: #64748b
}

.lic8-painel .qr.on {
	display: block
}

.lic8-painel .qr div {
	display: inline-block;
	margin-bottom: 6px
}

.lic8-painel .cont {
	display: flex;
	gap: 14px;
	align-items: center;
	background: linear-gradient(90deg, #eff4ff, #fff);
	border: 1px solid #dbe5ff;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 18px
}

.lic8-painel .cont .bx {
	display: flex;
	gap: 6px
}

.lic8-painel .cont .bx div {
	background: #fff;
	border: 1px solid #dbe5ff;
	border-radius: 8px;
	padding: 5px 8px;
	text-align: center;
	min-width: 52px
}

.lic8-painel .cont .bx b {
	display: block;
	font-size: 18px;
	color: #2563eb;
	font-variant-numeric: tabular-nums
}

.lic8-painel .cont .bx small {
	font-size: 10px;
	color: #64748b;
	font-weight: 600
}

.lic8-painel .cont p {
	margin: 0;
	font-size: 12.5px;
	color: #334155
}

.lic8-painel .cont p b {
	display: block;
	font-size: 13.5px;
	color: #0b1220
}

.lic8-painel .tl {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	margin: 0 0 20px;
	position: relative
}

.lic8-painel .tl .stp {
	text-align: center;
	position: relative;
	padding-top: 0
}

.lic8-painel .tl .stp:before {
	content: "";
	position: absolute;
	top: 11px;
	left: -50%;
	width: 100%;
	height: 3px;
	background: #e6e9ef;
	z-index: 0
}

.lic8-painel .tl .stp:first-child:before {
	display: none
}

.lic8-painel .tl .stp.ok:before,
.lic8-painel .tl .stp.now:before {
	background: var(--c)
}

.lic8-painel .tl i {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	margin: 0 auto 6px;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid #e6e9ef;
	font-style: normal;
	font-size: 12px;
	color: #fff;
	font-weight: 800
}

.lic8-painel .tl .ok i {
	background: var(--c);
	border-color: var(--c)
}

.lic8-painel .tl .now i {
	border-color: #2563eb;
	box-shadow: 0 0 0 5px #eff4ff
}

.lic8-painel .tl .x i {
	background: #b91c1c;
	border-color: #b91c1c
}

.lic8-painel .tl b {
	display: block;
	font-size: 12px
}

.lic8-painel .tl small {
	font-size: 11px;
	color: #64748b
}

.lic8-painel .ckh {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	margin: 2px 0 6px
}

.lic8-painel .ckh small {
	color: #64748b;
	font-size: 12px
}

.lic8-painel .fase {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #64748b;
	margin: 14px 0 2px;
	display: flex;
	justify-content: space-between
}

.lic8-painel .fase span {
	font-weight: 700;
	letter-spacing: .03em;
	color: #94a3b8;
	text-transform: none;
	font-size: 10.5px
}

.lic8-painel .tipo {
	display: flex;
	gap: 10px;
	padding: 9px 2px;
	border-bottom: 1px solid #f1f3f7
}

.lic8-painel .tipo .c {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 11px;
	font-weight: 800;
	flex: none;
	margin-top: 1px;
	background: #16a34a;
	color: #fff
}

.lic8-painel .tipo .c.pe {
	background: #fff;
	border: 2px dashed #cbd5e1;
	color: #94a3b8
}

.lic8-painel .tipo .nm {
	flex: 1;
	min-width: 0
}

.lic8-painel .tipo .nm>b {
	display: block;
	font-size: 13.5px;
	font-weight: 600
}

.lic8-painel .tipo.pend .nm>b {
	color: #94a3b8;
	font-weight: 500
}

.lic8-painel .arq {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 5px;
	font-size: 12px;
	color: #334155
}

.lic8-painel .arq span {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.lic8-painel .arq small {
	color: #94a3b8;
	white-space: nowrap
}

.lic8-painel .arq a {
	height: 28px;
	padding: 0 10px;
	border-radius: 7px;
	border: 1px solid #e6e9ef;
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	font-size: 12px;
	color: #0b1220;
	text-decoration: none;
	white-space: nowrap
}

.lic8-painel .nota {
	margin-top: 14px;
	font-size: 11.5px;
	color: #94a3b8
}

.lic8-painel .vazio {
	color: #64748b;
	font-size: 13px;
	padding: 8px 0
}

@media (max-width:860px) {
	.lic8 table.t thead {
		display: none
	}

	.lic8 table.t,
	.lic8 table.t tbody,
	.lic8 table.t tr,
	.lic8 table.t td {
		display: block;
		width: 100%
	}

	.lic8 table.t tr {
		border: 1px solid var(--ln);
		border-radius: 12px;
		margin: 10px 12px;
		width: auto;
		overflow: hidden
	}

	.lic8 table.t td {
		border: 0;
		padding: 6px 14px;
		text-align: left
	}

	.lic8 table.t td[data-l]:before {
		content: attr(data-l);
		display: block;
		font-size: 10.5px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .04em;
		color: var(--ink4)
	}

	.lic8 .obj {
		max-width: none
	}

	.lic8 h1 {
		font-size: 23px
	}

	.lic8 .fresh {
		border-radius: 12px
	}

	.lic8 label.sel {
		flex: 1 1 100%
	}

	.lic8 label.sel select {
		flex: 1;
		max-width: none
	}

	.lic8 .tbar .r .btn {
		flex: 1 1 auto;
		justify-content: center
	}

	.lic8 {
		padding: 0 12px
	}

	.lic8 .abas .ext {
		margin-left: 0
	}

	.lic8-painel .tl b {
		font-size: 10.5px
	}
}

@media print {

	.lic8 form.filtros,
	.lic8 .tbar .r,
	.lic8 .rod .pg,
	.lic8 .rod select,
	.lic8 .ver {
		display: none !important
	}

	.lic8 .obj {
		-webkit-line-clamp: unset;
		display: block
	}
}

@media (max-width: 860px) {
	.lic8 .abas {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none
	}

	.lic8 .abas::-webkit-scrollbar {
		display: none
	}
}

/* sigla do fundo (clientes que separam licitacoes por fundo: FMS, FME...) */
.lic8 .fundo {
	display: inline-block;
	margin: 0 0 5px 5px;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 7px;
	border-radius: 6px;
	background: #f1f5f9;
	color: #475569
}
