:root {
    --cor-primaria: #3f86bd;
    --cor-secundaria: #2B5D84;
}

* {
    list-style: none;
}

body {
    font-family: "Trebuchet MS", "Arial", sans-serif;
    font-size: 1vw;
    background: #fff url('../img/template/bg-body.png') repeat-x;
    margin: 0px;
    outline: none;
    overflow-y: scroll;
}

input:focus {
    outline: none;
}

textarea {
    font-family: "Arial", sans-serif;
}

textarea:focus {
    outline: none;
}

select:focus {
    outline: none;
}

button:focus {
    outline: none;
}

a:link {
    color: #003366;
    text-decoration: none;
}

a:visited {
    color: #003366;
    text-decoration: none;
}

/* ── Global scrollbar — slim, system-blue ── */
::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

::-webkit-scrollbar-track {
    background: #f0f3f7;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: #b5c8dc;
    border-radius: 4px;
    border: 1px solid #f0f3f7;
    transition: background .2s;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--cor-primaria);
}

::-webkit-scrollbar-thumb:active {
    background: var(--cor-secundaria);
}

select[disabled='disabled']::-ms-value {
    color: #000 !important;
}

select[disabled='disabled'] {
    color: #000 !important;
}

input[disabled='disabled']::-ms-value {
    color: #000 !important;
}

input[disabled='disabled'] {
    color: #000 !important;
}

select[readonly] {
    background: #ddd;
    pointer-events: none;
    touch-action: none;
}

input[type="search"] {
    padding-right: 5px !important;
}

input[type="search"]::-webkit-search-cancel-button {
    position: relative;
    height: 20px;
    width: 20px;
    background-color: #000;
    border-radius: 50%;
    cursor: pointer;
}

input[type="search"]::-webkit-search-cancel-button:hover {
    background-color: #ff0000;
}

.dropdown_ticket,
.dropdown_budget {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border: 1px solid #ccc;
    background-color: #ffffff;
    border-radius: 0 0 1vw 1vw;
    position: absolute;
    top: 100%;
    left: 0;
    box-sizing: border-box;
    z-index: 1000;
}

.dropdown_default {
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border: 1px solid #ccc;
    background-color: #ffffff;
    border-radius: 0 0 .5vw .5vw;
    position: absolute;
    top: 100%;
    left: 0;
    box-sizing: border-box;
    min-width: 100%;
    z-index: 1000;
}

.dropdown_default .div_option {
    display: flex;
    padding: .7vw 1vw;
    text-align: left;
    border-bottom: 1px solid #ccc;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    transition: background .3s;
}

.dropdown_default .div_option:hover {
    background-color: #ccc;
}

.dropdown_default .div_option:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

.dropdown_default .div_option:last-child {
    border-bottom-right-radius: .5vw;
    border-bottom-left-radius: .5vw;
    border: none;
}

.dropdown_ticket .div_option,
.dropdown_budget .div_option {
    display: flex;
    padding: .4vw 1vw;
    text-align: left;
    border-bottom: 1px solid #ccc;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    transition: background .3s;
}

.dropdown_ticket .div_option:hover {
    background-color: #ccc;
}

.dropdown_ticket .div_option:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

.dropdown_ticket .div_option:last-child {
    border-bottom-right-radius: 1vw;
    border-bottom-left-radius: 1vw;
    border: none;
}

.dropdown_budget .div_option:hover {
    background-color: #ccc;
}

.dropdown_budget .div_option:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

.dropdown_budget .div_option:last-child {
    border-bottom-right-radius: 1vw;
    border-bottom-left-radius: 1vw;
    border: none;
}

#wrapper {
    width: 75%;
    margin: 0 auto;
    position: relative;
    background: url(../img/template/bg-wrapper.png) top center no-repeat;
}

#main_header {
    width: 100%;
    position: relative;
    display: flex;
    padding: 0;
    align-items: flex-end;
    min-height: 16vh;
}

#main_header .main {
    width: 20%;
    position: relative;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 2% 0;
}

#main_header .main a {
    width: 100%;
    height: 70px;
    display: block;
    overflow: hidden;
    background: url(../img/template/logo.png) no-repeat;
    background-size: contain;
}

#main_header .header_bar {
    display: flex;
    justify-content: center;
    flex: 1;
    align-items: center;
}

#main_header form#search {
    position: absolute;
    display: flex;
    flex-direction: row;
    transform: translate(0%, 0%);
    height: 100%;
    left: -30px;
    justify-content: flex-end;
}

#main_header form.header input {
    height: 4.5vh;
    padding: 0;
    border: 1px solid #999;
    border-radius: 0 0 0 .3vw;
    text-indent: 5px;
    opacity: 0;
    position: absolute;
    right: 34px;
    width: 0;
    transition: width .5s, opacity .1s;
}

#main_header .button_activity {
    background-color: var(--cor-primaria);
    color: #fff;
    border-radius: .3vw;
    position: relative;
    height: 4.5vh;
    width: 4.5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    margin: auto 1vw;
    font-size: 1vw;
}

.button_activity:hover {
    background-color: var(--cor-secundaria) !important;
    cursor: pointer;
}

#main_header #nav {
    position: relative;
    height: 4.5vh;
    display: flex;
    align-items: center;
    justify-content: space-around;
    right: 0;
    list-style: none;
    z-index: 89;
    flex: 1;
    border-radius: .3vw;
    background-color: var(--cor-primaria);
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
}

#main_header #nav li.firstLi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
}

#main_header #nav li a.first {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 1vw;
    outline: none;
}

#main_header #nav ul {
    position: absolute;
    display: none;
    flex-direction: column;
    border-radius: 0 0 .3vw .3vw;
    top: 4.5vh;
    left: 0;
    background-color: var(--cor-primaria);
    padding: 0 0 .5vw 0;
}

#main_header #nav ul li {
    padding: .8vh 0;
    margin: 0;
    display: flex;
}

#main_header #nav ul li a {
    color: #fff;
    padding: .6vh 1vw;
    width: auto;
    display: flex;
    align-items: center;
    margin: 0;
    min-width: 12vw;
}

#main_header #nav li:hover ul {
    display: flex;
}

#main_header #nav li:hover {
    color: #fff;
    background: var(--cor-secundaria);
}

#main_header #nav ul li:hover a {
    background: var(--cor-secundaria);
}

#main_header form.header input {
    border: 0px;
    padding: 0;
    border-radius: 0px 0px 0px 3px;
    text-indent: 5px;
    opacity: 0;
    position: absolute;
    right: 34px;
    width: 0;
    transition: width 1s, opacity .1s;
}

#main_header form#search {
    position: absolute;
    display: flex;
    flex-direction: row;
    transform: translate(0%, 0%);
    height: 100%;
    left: -30px;
    justify-content: flex-end;
}

#main_header form#search div {
    border-radius: 0px 0px 0px 3px;
    padding: 0px 10px;
    width: 100%;
    transition: border .3s, background .3s;
}

#main_header img.flag {
    padding: 0 .7vw;
}

#main_header .logged {
    margin: 0;
    padding: 0;
    top: 0;
    right: 0;
    position: absolute;
    background: var(--cor-primaria);
    border-bottom-left-radius: .3vw;
    border-bottom-right-radius: .3vw;
    z-index: 190;
    height: 4.5vh;
    display: flex;
    align-items: center;
}

#main_header .logged li {
    float: left;
    height: 100%;
}

#main_header .logged ul {
    display: none;
    position: absolute;
    margin: 0px;
    padding: 0px 0px 5px 0px;
    list-style: none;
    z-index: 99;
    clear: both;
}

#main_header .logged li ul li {
    clear: left;
    margin: 0;
    padding: 0;
    width: 100%;
    background: none !important;
}

#main_header .logged span {
    display: flex;
    padding: 0 1vw !important;
    color: #fff;
    height: 100%;
    justify-content: center;
    box-sizing: border-box;
    align-items: center;
}

#main_header .logged>li a {
    display: flex;
    color: #fff;
    margin: 0px;
    padding: 0 1vw !important;
    height: 100%;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    transition: background 0.3s;
    border-bottom-right-radius: .3vw;
}

#main_header .logged li ul li a {
    display: flex;
    color: #fff;
    margin: 0px;
    padding: 1vh 1vw !important;
    text-decoration: none;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    background-color: var(--cor-primaria);
}

#main_header .logged li:hover>a {
    background-color: var(--cor-secundaria) !important;
}

#main_header .logged li:hover ul {
    display: flex;
}

#main_header .logged li ul li a:hover {
    background: var(--cor-secundaria) !important;
}

#main_header .logged li ul {
    display: none;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    background: var(--cor-primaria);
    border-top: 1px solid var(--cor-primaria);
    border-bottom-left-radius: .3vw;
    border-bottom-right-radius: .3vw;
    z-index: 90;
}

#show_done {
    border-radius: 3px;
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%, 0%);
    z-index: 1000;
    visibility: hidden;
    padding: 20px 30px;
    font-size: 1.4em;
    font-weight: normal;
    transition: opacity 0.2s;
    color: #fff;
    text-align: center;
}

#show_done i {
    margin: .3em auto 0 auto;
    font-size: 1.3em;
}

.green_alert {
    background-color: #14BF31;
}

.red_alert {
    background-color: #f44336;
}

.yellow_alert {
    background-color: #ff9800;
}

.blue_alert {
    background-color: #2196F3;
}

#content {
    width: 100%;
    background-color: #fff;
    border-radius: .6vw;
    background-size: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    align-items: center;
    padding: 10px;
}

#content .show_tab {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .7);
    z-index: 200;
}

#content .show_tab .show_content {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #eee;
    border-radius: .3vw;
    max-width: 65%;
    min-height: 30%;
}

#content .show_tab h1 {
    color: var(--cor-primaria);
    width: 100%;
    box-sizing: border-box;
    display: flex;
    padding: 0 3vw;
    justify-content: center;
    align-items: center;
}

#content .show_tab .container_content {
    background-color: #eee;
    width: 50vw;
    display: flex;
    flex-wrap: wrap;
    padding: 0 3% 5% 3%;
    box-sizing: border-box;
}

#content .tab_footer button {
    padding: 1.8vh 2vh;
    margin: 2vh .5vw;
    min-width: 8vw;
    box-sizing: border-box;
}

#content .tab_footer button:not(:last-child) {
    background-color: #fff;
    color: var(--cor-primaria);
    border: 1px solid var(--cor-primaria);
    transition: background 0.3s, color 0.3s, border 0.3s;
}

#content .tab_footer button:not(:last-child):hover {
    background-color: var(--cor-secundaria);
    color: #fff;
    border: 1px solid var(--cor-secundaria);
}

#content .tab_footer {
    width: 100%;
    display: flex;
    border-top: 1px solid #ccc;
    justify-content: flex-end;
    flex-direction: row;
    padding: 0 .5vw;
    align-items: center;
    background-color: #fff;
    box-sizing: border-box;
    border-radius: 0 0 .3vw .3vw;
}

#content .div_message {
    width: 100%;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 1.3em;
    font-weight: bolder;
    background-color: #eee;
    border-radius: .3vw .3vw 0 0;
}

#content .div_message i {
    font-size: 1.5em;
    margin: 3vh 0 0 0;
}

#show_tab_delete {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .7);
    z-index: 20000;
    font-size: 1vw;
}

#show_tab_delete .show_content {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: .3vw;
    min-height: 30%;
    min-width: 30%;
    height: 30%;
    max-width: 50%;
}

#show_tab_delete #tab_content_delete {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

#show_tab_delete #delete_message {
    margin: 0 9%;
    text-align: center;
}

#content section {
    width: 98%;
}

#content h2#title_content {
    font-size: 1.5vw;
    text-transform: uppercase;
    font-style: italic;
    font-weight: normal;
    color: #404638;
    background: url(../img/template/bg-h2.png) left no-repeat;
    width: 100%;
    display: flex;
    align-items: center;
    height: 3.5vh;
    margin: .5em 0em .7em 0em;
    padding-left: 6vw;
    box-sizing: border-box;
}

#content h2#title_content span {
    color: #FF7519;
    margin-left: .5em;
}

#content #filter_options {
    border: none;
    font-size: 1em;
    text-align: left;
    margin: 0;
    line-height: normal;
    border-radius: .3vw;
    padding: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: auto !important;
    min-height: 0;
    transition: height .2s, background .2s, padding .2s, margin .2s, border-color .2s;
}

#content #filter_options input[type='checkbox'] {
    display: none;
}

#content #filter_options label {
    margin: 1vh 1em 0 1em;
    height: 100%;
    display: flex;
    align-items: center;
}

#content #filter_options select {
    height: 4.5vh;
    border-radius: .3vw;
    background-color: #fff;
    border: none;
    margin-left: .5vw;
    font-size: 1vw;
    max-width: 20vw;
}

#content #filter_options #filter {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
    padding-bottom: 1vh;
}

#content #title_content div.icon {
    background-color: #eee;
    margin: 0 0 0 auto;
    cursor: pointer;
    color: #666;
    transition: color .3s;
    width: 4.5vh;
    height: 4.5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .3vw;
    font-size: .7em;
}

#content #title_content div.icon:hover {
    color: #000;
}

#content #filter_options div.inputs_filter {
    display: none;
    opacity: 0;
    justify-content: center;
    align-items: center;
    transition: opacity .5s;
}

/* Blocos de input */
div.input_div {
    margin: 2vh 1vw 2vh 1vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    font-size: 1em;
}

div.input_div a.info {
    text-align: left;
    font-weight: normal;
    font-size: 1em;
}

div.input_div a.info span {
    display: none;
}

div.input_div a.info:hover span {
    display: block;
    position: fixed;
    z-index: 1;
    bottom: 11vh;
    left: 1vw;
    width: auto;
    background-color: rgba(0, 0, 0, .7);
    color: #fff;
    text-align: center;
    font-size: 1em;
    border-radius: .4vw;
    font-weight: normal;
    padding: 1%;
}

div.input_div input.input_user,
div.input_div select.input_user {
    height: 4.5vh;
    border-radius: .3vw;
    border: none;
    margin-top: .5vh;
    text-indent: 5px;
    width: 100%;
    box-sizing: border-box;
    background-color: #fff;
    font-size: 1vw;
}

div.input_div textarea.input_user {
    height: 15vh;
    border-radius: .3vw;
    margin-top: .5vh;
    border: none;
    text-indent: 5px;
    resize: none;
    width: 100%;
    box-sizing: border-box;
    font-size: 1vw;
}

div.input_div .readonly {
    background-color: #ccc !important;
}

div.input_div input[readonly] {
    background-color: #ccc !important;
}

div.input_div textarea[readonly] {
    background-color: #ccc !important;
}

div.input_div select[disabled] {
    background-color: #ccc !important;
    color: #000 !important;
    opacity: 1 !important;
}

/* Tabelas */

table.default {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1em;
    border: none;
}

table.default th {
    background-color: var(--cor-primaria);
    color: #fff;
    padding: 1vh 1vw;
    font-weight: bolder;
    font-size: 1.05em;
}

table.default tr.th_sec th {
    background-color: var(--cor-secundaria);
    color: #fff;
    padding: 1vh 1vw;
    font-weight: bolder;
    border-top: 1px solid var(--cor-secundaria);
    font-size: 1.05em;
    border-radius: 0 !important;
}

table.default th:first-child {
    border-radius: .5vw 0 0 0;
}

table.default th:last-child {
    border-radius: 0 .5vw 0 0;
}

table.default tr.th {
    border-bottom: 1px solid #fff;
}

table.default tr.td {
    border-bottom: 1px solid #bbb;
    height: 6vh;
}

table.default tr.tr_hover td {
    transition: background 0.2s;
}

table.default tr.tr_hover:hover td {
    background-color: #ccc;
}

table.default tr.tr_cursor:hover td {
    cursor: pointer;
}

table.default td {
    height: 100%;
    background-color: rgba(240, 240, 240, 1);
    text-align: center;
    vertical-align: middle;
    padding: 1vh .3vw;
}

table.default td.actions {
    font-size: 1.4vw;
    padding: 0 1vw;
    width: 8vw;
}

table.default td.actions a {
    margin: auto .1em;
    color: var(--cor-primaria);
    transition: color 0.3s;
}

table.default td.actions a i,
table.default th.actions a i {
    cursor: pointer;
    font-size: 1.1vw;
}

table.default td.actions a i.disabled {
    cursor: default !important;
    color: #777;
}

table.default td.actions a:hover {
    color: var(--cor-secundaria);
}

table.default tr.principal.active td {
    background-color: #ddd;
    color: #000;
    font-weight: bolder;
}

table.default tr.principal.active:hover td {
    background-color: #ccc !important;
}

table.default tr.secundario {
    display: none;
    height: 0;
    opacity: 0;
    border: none !important;
    transition: height 0.3s, opacity 0.3s;
}

table.default tr.secundario td {
    background-color: #ddd !important;
    padding: 0;
}

.left {
    text-align: left !important;
    padding-left: 1vw !important;
}

.center {
    text-align: center !important;
}

.right {
    text-align: right !important;
    padding-right: 1vw !important;
}

table.index {
    width: 100%;
    font-size: 1.3em;
    margin-bottom: 1em;
    border-collapse: collapse;
}

table.index td.recs {
    text-transform: uppercase;
    font-weight: normal;
    font-style: italic;
    height: 4vh;
    text-align: left;
}

table.index td.title {
    visibility: hidden;
    color: #FF7519;
    text-transform: uppercase;
    font-style: italic;
    font-weight: normal;
    height: 4vh;
    width: 8vw;
    text-align: right;
}

table.index td.cont {
    font-weight: normal;
    text-align: right;
    padding: 0 0 0 3%;
}

table.index span.nmrpag1 {
    color: #000;
    font-weight: bolder;
    font-size: .7em;
    background-color: rgba(240, 240, 240, 1);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 3.2vh;
    height: 3.2vh;
    border-radius: .3vw;
    margin: 0;
}

table.index a span.nmrpag1 {
    background-color: var(--cor-primaria) !important;
    color: #fff;
    transition: background 0.3s;
}

table.index a:hover span.nmrpag1 {
    background-color: var(--cor-secundaria) !important;
}

table.index span.nmrpag2 {
    color: #000;
    font-size: .7em;
    font-weight: normal;
    background-color: #bbb;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 3.2vh;
    height: 3.2vh;
    border-radius: .3vw;
    margin: 0;
}

#content #emptybox {
    background: #f2f2f2;
    font-size: 12pt;
    text-align: center;
    border-radius: 5px;
    padding: 20px;
    margin: 1em auto 1.5em auto;
    font-weight: bold;
}

/* Botões */

.button_default {
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 5px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--cor-primaria);
    border: 1px solid var(--cor-primaria);
    font-weight: bolder;
    font-size: 1em;
    transition: background .3s;
}

.button_default:hover {
    background-color: var(--cor-secundaria);
}

.button_default.disabled {
    background-color: #bbb !important;
    color: #333 !important;
    cursor: default !important;
    border: 1px solid #bbb !important;
}

/* Edição de dados */

#content #div_main_content {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    background-color: #eee;
    border-radius: .3vw;
}

#content #input_content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}

#content .tab_content {
    display: flex;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    margin: 2vh auto 0 auto;
    background-color: #eee;
    border-radius: .3vw;
}

#content .tab_content>li {
    display: none;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
}

.section_userprofile .tab_content>li {
    flex-direction: column;
}

#content .tabs {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
    padding: 0;
    width: 100%;
    margin: 2vh auto 0 auto;
}

#content .tabs li {
    padding: 1vw 0.8vw;
    margin: 0 .5vw 0 0;
    border-radius: .3vw;
    cursor: pointer;
    transition: background 0.2s;
}

#content .tabs li:hover {
    background-color: #ccc;
}

#content .tabs li.selected {
    background-color: var(--cor-primaria);
    color: #fff;
}

#content div.checkperm {
    display: inline-flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

#content div.checkperm input {
    display: none;
}

#content div.checkperm p {
    cursor: pointer;
}

#content div.checkbox {
    width: 3.5vh;
    height: 3.5vh;
    background-color: #fff;
    border-radius: .3vw;
    margin: .7vw;
    color: rgba(42, 193, 38, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

/* Footer */
.footer_section {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10vh;
    border-top: 1px solid #ddd;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 1vh 13vw;
    background-color: #fff;
    box-sizing: border-box;
    z-index: 10;
}

.footer_section button {
    height: 70%;
    padding: 0 2vw;
    margin: 0 .5vw;
}

.footer_section button:not(:last-child) {
    background-color: #fff;
    color: var(--cor-primaria);
    border: 1px solid var(--cor-primaria);
    transition: background 0.3s, color 0.3s, border 0.3s;
}

.footer_section button:not(:last-child):hover {
    background-color: var(--cor-secundaria);
    color: #fff;
    border: 1px solid var(--cor-secundaria);
}

#footer {
    height: 10vh;
}

/* naoautorizado.php */
.alert_warning {
    color: #fff;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 3vh 8vh;
    border-radius: .3vw;
}

/* indice de tradução */
.langbase {
    padding: 1vh 0;
}

.indice_traducao {
    background-color: #eee;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    border-radius: .3vw;
}

#edita_indice_traducao .input_div {
    width: 45%;
    box-sizing: border-box;
}

#edita_indice_traducao .input_div input::placeholder {
    color: #f00;
}

/* login.php */

#section_login {
    margin-top: 5vh;
}

#section_login p.input_container {
    margin: 15px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#section_login p.input_container label {
    width: 50%;
    text-align: left;
    font-size: 1.1em;
    margin-bottom: .2em;
    font-weight: bolder;
}

#section_login p.input_container input {
    border: none;
    font-size: 1.1em;
    height: 4.5vh;
    border-radius: 5px;
    width: 50%;
    text-indent: 5px;
}

#section_login #div_login {
    width: 90%;
    display: flex;
    flex-direction: column;
    margin: 0px auto;
    padding-bottom: 1px;
    border-radius: 10px;
    background-color: #eee;
    position: relative;
    max-width: 500px;
}

#section_login #div_login h2 {
    background: #3f86bd;
    font-size: 1.3em;
    padding: 5px 0px;
    text-align: center;
    border-bottom: 4px solid #fff;
    color: #fff;
    border-radius: .5vw .5vw 0px 0px;
    margin: 0;
    text-transform: uppercase;
    font-style: italic;
}

#section_login #div_login p.container_link {
    margin: 0px 10px 10px 10px;
}

#section_login #div_login img {
    float: left;
    margin: 0px 5px;
}

#section_login #button_login {
    padding: 1.5vh 2.5vw;
    margin-top: 2vh;
}

/* calendar.php */

#section_calendar {
    width: 100%;
}

#section_calendar .container_calendar {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#section_calendar #div_filter {
    background-color: #eee;
    font-size: 1em;
    border-radius: .3vw;
    padding: 1%;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto 3vh auto;
    flex-wrap: wrap;
    justify-content: space-between;
}

#section_calendar #div_filter .container_sup {
    display: flex;
}

#section_calendar #div_filter .sup_filter {
    margin: 0 1em;
}

#section_calendar #div_filter select {
    height: 4.5vh;
    width: 8vw;
    border-radius: .3vw;
    border: none;
}

#section_calendar #scheduler {
    width: 100%;
    margin: 0 auto;
}

#section_calendar #container_scheduler {
    display: flex;
    /*background-color: #eee;*/
    border-radius: .3vw;
    padding: 0;
    width: 100%;
}

#section_calendar .change {
    font-size: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #444;
    flex: 1;
}

#section_calendar .change i {
    cursor: pointer;
}

#section_calendar .change i:hover {
    color: #000;
    font-size: 1.1em;
}

#section_calendar .row {
    display: flex;
    flex-direction: row;
}

#section_calendar .cell_title {
    flex: 1;
    display: flex;
    border-radius: .3vw;
    justify-content: center;
    margin: .2em;
    font-weight: bold;
    font-size: 1em;
    color: #444;
}

#section_calendar .cell {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    margin: .1em;
    height: 6vh;
    padding: 5px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: .3vw;
    font-weight: bold;
    font-size: 0.8em;
    color: #555;
    transition: box-shadow .3s;
}

#section_calendar .cell:hover {
    box-shadow: 0px 0px 3px #999;
    cursor: pointer;
}

#section_calendar .cell .marker {
    width: 1.3vh;
    height: 1.3vh;
    border-radius: .2vw;
    margin-top: .3em;
    transition: width .3s;
}

#section_calendar .not {
    background-color: #ddd;
    border-color: #eee;
    color: #333;
}

#section_calendar .not:hover {
    box-shadow: none;
    cursor: default;
}

#section_calendar .hoje {
    border-color: rgba(42, 193, 38, 1);
    color: rgba(42, 193, 38, 1);
}

#section_calendar #tab_content h1 {
    border: 1px solid #999;
    padding: 10px;
    border-radius: 5px;
}

#section_calendar #tab_content {
    margin: .5em 1em;
}

#section_calendar #tab_content #content_dia {
    overflow-y: auto;
    max-height: 400px;
    margin-bottom: 1em;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#section_calendar #tab_content .input_container {
    margin: .5em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#section_calendar #tab_content .div_sup {
    width: 47%;
    display: flex;
    flex-direction: column;
    padding: 5px;
}

#section_calendar #tab_content .third {
    width: 30%;
}

#section_calendar #tab_content .full {
    width: 95%;
}

#section_calendar #tab_content .desc {
    width: 95%;
}

#section_calendar #tab_content .div_sup span {
    color: #222;
    font-weight: bold;
    font-size: 1.2em;
    text-indent: 10px;
    margin-bottom: .3em;
}

#section_calendar #tab_content .div_sup input,
#section_calendar #tab_content .div_sup textarea {
    border: 1px solid #777;
    border-radius: 3px;
    height: 25px;
}

#section_calendar #tab_content .div_sup input[type=date] {
    height: 27px;
    text-align: center;
}

#section_calendar #tab_content .third select {
    height: 30px;
    text-align: center;
    border: 1px solid #777;
    border-radius: 3px;
}

#section_calendar #tab_content .desc textarea {
    height: 80px;
    resize: none;
    width: 100%;
}

#section_calendar #tab_content .div_content {
    border: 1px solid #999;
    background-color: #eee;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

#section_calendar #tab_content .div_content .suporte {
    display: flex;
    flex-direction: column;
    width: 48%;
    margin: .2em;
}

#section_calendar #tab_content .div_content .container_freq {
    display: flex;
    justify-content: center;
    position: relative;
}

#section_calendar #tab_content .div_content .container_freq i {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translate(0%, -50%);
    font-size: 1.2em;
}

#section_calendar #tab_content .div_content .suporte select,
#section_calendar #tab_content .div_content .suporte input {
    width: 95%;
    margin: 0 auto;
    border: 1px solid #777;
    border-radius: 3px;
    height: 30px;
}

#section_calendar #tab_content #empty_content {
    width: 100%;
    text-align: center;
    font-size: 1.5em;
    margin-top: 6em;
}

#section_calendar #tab_content .events {
    margin: 1em 1em;
    border-radius: 5px;
    width: 95%;
}

#section_calendar #tab_content .events .title {
    font-weight: bold;
    font-size: 1.3em;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    padding: 10px;
    color: #fff;
}

#section_calendar #tab_content .events .content_event {
    padding: 10px;
}

#section_calendar #tab_content .events .content_event .event_sup {
    padding: 5px;
    display: flex;
}

#section_calendar #tab_content .events .content_event .event_sup .info {
    flex: 1;
}

#section_calendar #tab_content .events .content_event .event_sup .icon {
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
}

#section_calendar #tab_content .events .content_event .event_sup .icon i:hover {
    color: #000;
    cursor: pointer;
}

#section_calendar #tab_content .events .content_event .event_sup .title_event {
    font-size: 1.05em;
    font-weight: bold;
}

#section_calendar #tab_content #reminders {
    background-color: rgba(255, 180, 0, .3);
}

#section_calendar #tab_content #reminders .title {
    background-color: rgba(255, 180, 0, 1);
}

#section_calendar #tab_content #reminders .content_event .event_sup {
    border-bottom: 1px solid rgba(255, 180, 0, 1);
}

#section_calendar #tab_content #reminders .content_event .event_sup .icon {
    color: rgba(255, 180, 0, 1);
}

#section_calendar #tab_content #tickets {
    background-color: rgba(255, 0, 0, .3);
}

#section_calendar #tab_content #tickets .title {
    background-color: rgba(255, 0, 0, 1);
}

#section_calendar #tab_content #tickets .content_event .event_sup {
    border-bottom: 1px solid rgba(255, 0, 0, 1);
}

#section_calendar #tab_content #tickets .content_event .event_sup .icon {
    color: rgba(255, 0, 0, 1);
}

#section_calendar #tab_content #budgets {
    background-color: rgba(63, 134, 189, .3);
}

#section_calendar #tab_content #budgets .title {
    background-color: rgba(63, 134, 189, 1);
}

#section_calendar #tab_content #budgets .content_event .event_sup {
    border-bottom: 1px solid rgba(63, 134, 189, 1);
}

#section_calendar #tab_content #budgets .content_event .event_sup .icon {
    color: rgba(63, 134, 189, 1);
}

#section_calendar #tab_content .description {
    width: 90%;
    padding: 10px;
    margin: 1em auto;
    border: 1px solid #999;
    border-radius: 5px;
}

#section_calendar #tab_content .description .title {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 1em;
}

#section_calendar #tab_content .edits {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 1em auto;
}

#section_calendar #tab_content .buttons input[type='date'] {
    width: 30%;
    border: 1px solid #777;
    border-radius: 3px;
    height: 27px;
    margin: .5em;
}

#section_calendar #tab_content .suporte_edit {
    border: 1px solid #999;
    border-radius: 5px;
    width: 90%;
    margin: 0 auto;
    padding: 10px;
}

#section_calendar #tab_content .edits span {
    font-size: 1.3em;
    font-weight: bold;
    margin: 0 auto;
}

#section_calendar #tab_content .buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 1em auto;
}

#section_calendar #tab_content .buttons input[type='button'] {
    width: 20%;
    margin: .5em;
    padding: 7px;
}

#section_calendar .div_container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
}

#section_calendar .future_reminders {
    margin: 0 2vw;
    flex: 1;
}

#section_calendar .title_reminders {
    background-color: #eee;
    font-size: 1.3em;
    border-radius: .3vw;
    padding: 5% 1%;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto 3vh auto;
    flex-wrap: wrap;
    justify-content: center;
    border-bottom: 2px solid var(--cor-primaria);
}

#section_calendar .container_reminders {
    width: 100%;
    height: 55vh;
    overflow-y: auto;
}

#section_calendar .item_reminder {
    width: 100%;
    border: 1px solid #eee;
    border-radius: .3vw;
    display: flex;
    justify-content: space-between;
    padding: 2% 5%;
    align-items: center;
    box-sizing: border-box;
    margin-bottom: 2%;
    transition: background 0.3s;
}

#section_calendar .item_reminder:hover {
    background-color: #eee;
    cursor: pointer;
}

#section_calendar .item_title {
    font-weight: bold;
    font-size: 1.04em;
    color: #333;
}

#section_calendar .sub_infos_right {
    text-align: right;
}

#section_calendar .item_data {
    font-size: 1em;
    color: #333;
}

#item_publico .item_data {
    font-size: 1em;
    color: #333;
}

#empty_content {
    display: flex;
    width: 100%;
    min-height: 30vh;
    justify-content: center;
    align-items: center;
    font-size: 1.5em;
    color: #555;
}

#content_dia {
    display: flex;
    width: 50vw;
    min-height: 35vh;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding: 1vh 3vw;
    box-sizing: border-box;
    overflow: auto;
    max-height: 50vh;
}

#content_dia .events {
    width: 100%;
    box-sizing: border-box;
    margin-top: 1%;
    padding: 0 2%;
    display: flex;
    flex-direction: column;
}

#content_dia .events .event_sup {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    width: 100%;
    padding-bottom: 1vh;
    margin-bottom: 2vh;
    border-bottom: 1px solid var(--cor-primaria);
}

#content_dia .events .desc_event {
    font-weight: normal;
}

#content_dia .events .title {
    width: 100%;
    font-size: 1.3em;
    font-weight: bold;
    color: var(--cor-primaria);
    border-left: 4px solid var(--cor-primaria);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 2%;
}

#content_dia .events .content_event {
    width: 100%;
    box-sizing: border-box;
    margin-top: 1%;
    padding: 2%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

#content_dia .events .info {
    font-size: 1.15em;
    font-weight: bold;
    color: #333;
}

#content_dia .events .icon {
    color: var(--cor-primaria);
    font-size: 1.3em;
    transition: color 0.3s;
}

#content_dia .events .icon:hover {
    color: var(--cor-secundaria);
    cursor: pointer;
}

#section_calendar .empty_reminder {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 90%;
    font-size: 1.1em;
    color: #444;
}

/* editreminder */
#content .campo_freq {
    width: 45%;
}

#content .campo_freq i {
    margin-left: 1vw;
}

#content .situacaoP {
    width: 100%;
}

#content .situacaoP .suporte {
    display: flex;
    flex-direction: row;
    width: 100%;
}

#content .situacaoP .suporte .sup {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 25%;
}

/* tickets */

#section_edittickets .container_financeiro {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#section_edittickets .container_modalidade {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
}

table.financeiro th,
table.financeiro td {
    height: 4vh !important;
    max-height: 4vh !important;
    border-radius: 0;
}

table.financeiro tr:hover td {
    background-color: #ddd;
}

#content .add_button_ticket {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

#content .add_button_ticket div.button_default {
    height: 6vh;
    padding: 0 3vw;
    margin: 2% 3%;
}

/* Novos Tickets */

#content .tab_content.new-ticket,
#content .tab_content.new-budget {
    flex-direction: column;
}

#content .inputsetapas {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}

/* dashboard */

#section_dashboard .div_suporte {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    flex-direction: column;
    min-height: 100vh;
}

#section_dashboard .span_geral {
    position: absolute;
    left: 0;
    top: -1.5vh;
    padding: 0 1vw;
    background-color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    color: #222;
    cursor: pointer;
}

#section_dashboard .div_dashboard {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    flex-wrap: wrap;
    border-top: 1px solid #222;
    margin-top: 2vh;
    padding-top: 2vh;
}

#section_dashboard .suporte_dash {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#section_dashboard .future_reminders {
    margin: 0 1vw;
    flex-direction: column;
    flex: 1;
}

#section_dashboard .title_reminders {
    background-color: #eee;
    font-size: 1.3em;
    border-radius: .3vw;
    padding: 5% 1%;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    margin: 1vw auto 2vh auto;
    flex-wrap: wrap;
    justify-content: center;
    border-bottom: 2px solid var(--cor-primaria);
}

#section_dashboard .container_reminders {
    /*width: 100%;*/
    padding-right: 1vw;
    max-height: 55vh;
    overflow-y: auto;
}

#section_dashboard .item_reminder {
    width: 100%;
    border: 1px solid #eee;
    border-radius: .3vw;
    display: flex;
    justify-content: space-between;
    padding: 2% 5%;
    align-items: center;
    box-sizing: border-box;
    margin-bottom: 2%;
    transition: background 0.3s;
}

#section_dashboard .item_reminder:hover {
    background-color: #eee;
    cursor: pointer;
}

#section_dashboard .sub_infos_right {
    text-align: right;
}

#section_dashboard .item_title {
    font-weight: bold;
    font-size: 1.04em;
    color: #333;
}

#section_dashboard .item_data {
    font-size: 1em;
    color: #333;
}

#section_dashboard #item_publico .item_data {
    font-size: 1em;
    color: #333;
}

#section_dashboard .empty_reminder {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 90%;
    font-size: 1.1em;
    color: #444;
}

#section_dashboard .dashboard_info {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1vw 1vw 3vw 1vw;
    padding: 2vw;
    box-sizing: border-box;
    position: relative;
    min-width: 20%;
    min-height: 12vh;
    opacity: 1;
    cursor: pointer;
    max-width: 25%;
    transition: all .5s;
}

#section_dashboard .my_dash {
    min-width: 22% !important;
}

#section_dashboard .dashboard_info .div_principal {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #eee;
    z-index: 3;
    border-radius: .3vw;
    border-bottom: 2px solid var(--cor-primaria);
    transition: color .3s, background .3s;
}

#section_dashboard .dashboard_info .div_secundaria {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 0%;
    transform: translate(-50%, 0%);
    z-index: 2;
    background-color: #ccc;
    border-radius: .3vw;
    height: 100%;
    overflow: hidden;
    transition: height .3s, top .3s;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    padding: 1vw .6vw 1vw .6vw;
    box-sizing: border-box;
}

#section_dashboard .dashboard_info .div_principal:hover {
    background-color: var(--cor-primaria);
    border-radius: .3vw .3vw 0 0;
    color: #fff;
    z-index: 5;
}

#section_dashboard .dashboard_info .div_principal:hover .sub_span {
    display: none;
}

#section_dashboard .dashboard_info .div_principal:hover .span_title {
    color: #fff;
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    left: 50%;
    font-weight: bold;
    font-size: 1.3em;
    text-align: center;
    width: 100%;
}

#section_dashboard .dashboard_info .div_principal:hover~.div_secundaria {
    top: 100%;
    height: auto;
    z-index: 4;
    border-radius: 0 0 .3vw .3vw;
}

#section_dashboard .dashboard_info:hover .span_info {
    right: 10%;
    transform: translate(0%, -50%);
    opacity: 0;
}

#section_dashboard .span_title {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: .5vw;
    transition: color .3s, top .3s, left .3s, font-size .3s, bottom .3s transform .3s;
}

#section_dashboard .span_info {
    font-size: 2em;
    left: 50%;
    top: 50%;
    opacity: 1;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    position: absolute;
    align-items: center;
    transition: all 0.3s;
    z-index: 2;
}

#section_dashboard .sub_line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .3vh;
    width: 100%;
}

#section_dashboard .divisao {
    border-top: 1px solid var(--cor-secundaria);
    width: 90%;
}

#section_dashboard .sub_label {
    padding-left: 1vw;
}

#section_dashboard .sub_number {
    padding-right: 1vw;
}


#section_edituser .password_feedback {
    display: block;
    position: fixed;
    z-index: 1;
    bottom: 11vh;
    left: 1vw;
    width: auto;
    color: #fff;
    text-align: left;
    font-size: 1em;
    border-radius: .4vw;
    font-weight: normal;
    padding: 1%;
}

#section_edituser .password_feedback ul {
    padding: 0;
}

#section_edituser .password_feedback li {
    margin-bottom: 1vh;
}

#sup_content_kb {
    background-color: #fff;
    min-height: 25vh;
    overflow-y: auto;
    max-height: 60vh;
    padding: 1vw;
    margin: 1vw;
}

.clone_modal {
    min-width: 25vw !important;
    padding: 0 2vw 4vh 2vw;
}

.clone_modal .suporte {
    display: flex;
    flex-direction: column !important;
    justify-content: center;
}

/* ═══════════════════════════════════════════
   Form Visualizer  (solicitationsform)
═══════════════════════════════════════════ */

#section_solicitationsform .div_container {
    display: flex;
    flex-direction: column;
    gap: 1vh;
}

/* ── Form-type selector tabs ── */
#sf_form_selector {
    display: flex;
    flex-wrap: wrap;
    gap: .5vw;
    padding-bottom: 1vh;
    border-bottom: 2px solid #e0e4ea;
}

.sf_tab_btn {
    padding: 1.5vh 1.5vw;
    border-radius: .35vw;
    font-size: .9em;
    font-family: inherit;
    letter-spacing: .02em;
    background: #eaedf1;
    color: #4a5568;
    border: none;
    cursor: pointer;
    transition: background .3s, color .3s, border-color .3s;
    font-weight: bold;
}

.sf_tab_btn:hover {
    background: var(--cor-secundaria);
    color: #fff;
    border-color: var(--cor-secundaria);
}

.sf_tab_btn.active {
    background: var(--cor-primaria);
    color: #fff;
    border-color: var(--cor-primaria);
}

/* ── Two-panel workspace ── */
#sf_workspace {
    display: flex;
    gap: 1.5vw;
    align-items: flex-start;
    min-height: 60vh;
}

/* LEFT */
#sf_panel_left {
    width: 40%;
    min-height: 55vh;
    background: #eee;
    border-radius: .4vw;
    overflow-y: auto;
    position: sticky;
    top: 1vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

#sf_panel_left_inner {
    padding: 1.2vw 1vw;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* RIGHT */
#sf_panel_right {
    flex: 1;
    min-height: 55vh;
    background: #fff;
    border-radius: .4vw;
    box-sizing: border-box;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* ── Empty / loading states ── */
.sf_panel_empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2vh;
    color: #b0bcd0;
    padding: 4vh 2vw;
    text-align: center;
    flex: 1;
    min-height: 40vh;
}

.sf_panel_empty i {
    font-size: 2.5em;
    color: #c8d4e0;
}

.sf_panel_empty p {
    margin: 0;
    font-style: italic;
    font-size: .95em;
}

.sf_loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 20vh;
    font-size: 2em;
    color: var(--cor-primaria);
}

/* ── Field wrapper (right panel rows) ── */
.sf_field_wrapper {
    display: flex;
    align-items: flex-start;
    gap: .7vw;
    padding: .5vh .4vw .5vh 0;
    border-radius: .3vw;
    border: 1px solid transparent;
    margin-bottom: .5vh;
    transition: background .18s, border-color .18s;
    background: #fff;
}

.sf_field_wrapper:hover {
    background: #eaf2fb;
    border-color: #b5cfe8;
}

/* ── Action buttons column ── */
.sf_field_actions {
    display: flex;
    flex-direction: column;
    gap: .35vh;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s;
    flex-shrink: 0;
    padding-top: .8vh;
}

.sf_field_wrapper:hover .sf_field_actions {
    opacity: 1;
    pointer-events: all;
}

.sf_btn {
    width: 2.8vh;
    height: 2.8vh;
    border: none;
    border-radius: .25vw;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .78em;
    color: #fff;
    transition: opacity .15s, transform .12s;
    flex-shrink: 0;
}

.sf_btn:hover {
    opacity: .82;
    transform: scale(1.1);
}

.sf_btn_edit {
    background: var(--cor-primaria);
}

.sf_btn_delete {
    background: #e53935;
}

.sf_btn_cond {
    background: #e67e22;
}

.sf_btn_add {
    background: #27ae60;
}

/* ── Field body ── */
.sf_field_body {
    flex: 1;
    min-width: 0;
}

/* Meta badges row */
.sf_field_meta {
    display: flex;
    align-items: center;
    gap: .45vw;
    margin-bottom: .2vh;
    flex-wrap: wrap;
}

.sf_field_order {
    font-size: .73em;
    color: #9aa5b4;
    font-weight: bold;
}

.sf_field_type_badge {
    font-size: .68em;
    background: #dde5f0;
    color: #4a6070;
    border-radius: .2vw;
    padding: .05vh .4vw;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.sf_cond_badge {
    color: #e67e22;
    font-size: .88em;
    cursor: help;
}

.sf_req_badge {
    color: #e53935;
    font-weight: bold;
    font-size: 1em;
}

/* input_div override — inside the right panel preview the wrapping must be tight */
.sf_field_body .input_div.sf_input_div {
    margin: 0 0 .3vh 0 !important;
    width: 100% !important;
}

.sf_field_body .input_div.sf_input_div label {
    font-size: .85em;
    color: #444;
    font-weight: bold;
    margin-bottom: .2vh;
}

.sf_field_body .input_div.sf_input_div .input_user {
    height: 3.8vh !important;
    font-size: .88em !important;
    border: 1px solid #ccd3de !important;
    border-radius: .3vw !important;
    background: #f7f9fc !important;
    margin-top: .2vh !important;
    padding: 0 .5vw;
}

.sf_field_body .input_div.sf_input_div textarea.input_user {
    height: 8vh !important;
    resize: vertical;
    padding: .3vh .5vw !important;
}

.sf_field_body .input_div.sf_input_div select.input_user {
    cursor: pointer;
}

.sf_file_input {
    display: block;
    margin-top: .3vh;
    font-size: .88em;
}

.sf_helper_text {
    display: block;
    color: #8899aa;
    font-size: .78em;
    font-style: italic;
    margin-top: .15vh;
}

/* ── Left panel editor ── */
.sf_panel_section {
    display: flex;
    flex-direction: column;
}

.sf_panel_title {
    font-size: 1.1em;
    font-weight: bold;
    color: var(--cor-primaria);
    margin-bottom: 1.2vh;
    padding-bottom: .7vh;
    display: flex;
    align-items: center;
    gap: .5vw;
}

/* input_div overrides inside LEFT editor panel */
#sf_panel_left_inner .input_div {
    margin: 0 0 1.8vh 0 !important;
    width: 100% !important;
}

#sf_panel_left_inner .input_div.sfp_half {
    width: 48% !important;
    display: inline-flex;
    vertical-align: top;
    margin-right: 2% !important;
}

#sf_panel_left_inner .input_div.sfp_half:nth-of-type(even) {
    margin-right: 0 !important;
}

#sf_panel_left_inner .input_div label {
    font-size: 1em !important;
    font-weight: bold;
    margin: 0 0 .2vh 0;
    cursor: default;
}

#sf_panel_left_inner .input_div label a.info {
    text-decoration: none;
}

#sf_panel_left_inner .input_div .input_user {
    height: 4.5vh !important;
    font-size: 1em !important;
    border: none !important;
    border-radius: .4vw !important;
    background: #fff !important;
    padding: 0 .5vw;
    box-sizing: border-box;
}

/* Options Manager */
.sf_options_manager {
    background: #ddd;
    border-radius: .6vw;
    padding: 1vw;
    min-height: 8vh;
    display: flex;
    flex-direction: column;
    gap: .5vh;
}

.sf_tags_list {
    display: flex;
    flex-wrap: wrap;
    gap: .3vw;
    margin-bottom: .5vh;
}

.sf_option_tag {
    background: #fff;
    border-radius: 1vw;
    padding: .6vh .6vw;
    display: flex;
    align-items: center;
    gap: .4vw;
    font-size: 1em;
    color: #334;
}

.sf_option_tag i {
    cursor: pointer;
    font-size: 1em;
    color: #889;
    transition: color .2s;
}

.sf_option_tag i:hover {
    color: #dc2626;
}

/* Custom Checkbox for Editor */
.sf_custom_checkbox {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 2.5vw;
    cursor: pointer;
    font-size: .9em;
    user-select: none;
    color: #556;
    font-weight: bold;
}

.sf_custom_checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.sf_checkmark {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    height: 1.8vw;
    width: 1.8vw;
    background-color: #fff;
    border: 1px solid #c5cdd8;
    border-radius: .4vw;
    transition: all 0.2s ease;
}

.sf_custom_checkbox:hover input~.sf_checkmark {
    background-color: #f8fafc;
    border-color: rgba(63, 134, 189, 1);
}

.sf_custom_checkbox input:checked~.sf_checkmark {
    background-color: rgba(63, 134, 189, 1);
    border-color: rgba(63, 134, 189, 1);
}

.sf_checkmark:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    display: none;
    color: white;
    font-size: 1vw;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.sf_custom_checkbox input:checked~.sf_checkmark:after {
    display: block;
}

/* Options Manager Refinement */
.sf_tag_adder {
    display: flex;
    gap: 0;
    position: relative;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: .5vw;
}

.sf_tag_adder .input_user {
    flex: 1;
    margin-top: 0 !important;
    height: 4.5vh !important;
    padding-right: 3vw !important;
    /* Space for the button */
}

.sf_add_btn {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 4.5vh;
    width: 4.5vh;
    padding: 0;
    font-size: 1.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 .4vw .4vw 0;
    background: rgba(63, 134, 189, 1);
    color: #fff;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sf_add_btn:hover {
    background: rgba(33, 104, 159, 1);
    filter: brightness(1.1);
}

#sf_panel_left_inner .sfp_check_row {
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-start;
    gap: .5vw;
}

#sf_panel_left_inner .sfp_check_row label {
    display: flex;
    align-items: center;
    font-weight: normal !important;
    margin: 0 !important;
    cursor: pointer;
}

/* Drag and Drop - Solicitation Form */
.sf_field_wrapper {
    cursor: default !important;
    position: relative;
    transition: background 0.2s, border 0.2s;
}

.sf_drag_handle {
    position: absolute;
    left: -2vw;
    top: 50%;
    transform: translateY(-50%);
    cursor: grab;
    color: #0099d0;
    font-size: 1.2em;
    padding: 0.5vw;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 100;
}

.sf_field_wrapper:hover .sf_drag_handle {
    opacity: 0.6;
}

.sf_drag_handle:hover {
    opacity: 1 !important;
}

.sf_field_wrapper.sf_dragging {
    opacity: 0.3;
    background: rgba(0, 153, 208, 0.1) !important;
    border: 1px dashed #0099d0 !important;
}

.sf_drag_over {
    border-top: 3px solid #0099d0 !important;
}

/* ── Panel action rows (buttons) ── */
.sf_panel_actions_row {
    display: flex;
    gap: .6vw;
    justify-content: flex-end;
    margin-top: 1.5vh;
    padding-top: .8vh;
    border-top: 1px solid #d4dae4;
}

/* Cancel button — outlined */
.sfp_cancel {
    background: #fff !important;
    color: var(--cor-primaria) !important;
    border: 1px solid var(--cor-primaria) !important;
}

.sfp_cancel:hover {
    background: var(--cor-secundaria) !important;
    color: #fff !important;
    border-color: var(--cor-secundaria) !important;
}

/* Save button — solid primary */
.sfp_save {
    background: var(--cor-primaria) !important;
    color: #fff !important;
    border-color: var(--cor-primaria) !important;
}

.sfp_save:hover {
    background: var(--cor-secundaria) !important;
    border-color: var(--cor-secundaria) !important;
}

/* Danger/delete confirm button */
.sfp_danger {
    background: #e53935 !important;
    border-color: #e53935 !important;
    color: #fff !important;
}

.sfp_danger:hover {
    background: #b71c1c !important;
    border-color: #b71c1c !important;
}

/* ── Delete message box ── */
.sf_delete_msg {
    background: #fff3f3;
    border-left: 3px solid #e53935;
    padding: .8vh .8vw;
    border-radius: .25vw;
    line-height: 1.45;
}

/* ═══════════════════════════════════════════════════════════
   Suportenix Form Styles — scoped to #sf_form_preview only
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

#sf_form_preview {
    --snx-bg-dark: #0f172a;
    --snx-bg-card: rgba(30, 41, 59, 0.95);
    --snx-primary: #284095;
    --snx-primary-h: #1b2d6a;
    --snx-secondary: #e7302a;
    --snx-text: #f8fafc;
    --snx-muted: #cbd5e1;
    --snx-border: rgba(148, 163, 184, 0.2);
    --snx-font: 'Outfit', sans-serif;

    font-family: var(--snx-font);
    background: radial-gradient(circle at top right, #1e293b, #0f172a);
    border-radius: .5vw;
    padding: 3vw 1vw 3vw 3vw;
    min-height: 55vh;
    color: var(--snx-text);
    box-sizing: border-box;
}

/* ── Field wrapper: relative for action popup ── */
#sf_form_preview .sf_field_wrapper {
    position: relative;
    background: transparent;
    border: none;
    margin-bottom: 0;
    /* Popup lives inside this padding — hover never breaks */
    padding: 0 52px 0 0;
    display: block;
}

#sf_form_preview .sf_field_wrapper:hover {
    background: transparent;
    border-color: transparent;
}

/* ── form-group (suportenix) ── */
#sf_form_preview .form-group {
    margin-bottom: 1.5rem;
    position: relative;
}

/* ── Labels ── */
#sf_form_preview .form-label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--snx-text);
    font-weight: 500;
    font-size: 0.95rem;
}

/* ── Meta badges inside form-group ── */
#sf_form_preview .sf_field_meta {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .4rem;
}

#sf_form_preview .sf_field_type_badge {
    font-size: .65em;
    background: rgba(40, 64, 149, 0.35);
    color: #93c5fd;
    border-radius: .2rem;
    padding: .05rem .35rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

#sf_form_preview .sf_cond_badge {
    color: #f59e0b;
    font-size: .85em;
    cursor: help;
}

#sf_form_preview .sf_helper_text {
    display: block;
    color: var(--snx-muted);
    font-size: 0.8rem;
    margin-top: .4rem;
    font-style: italic;
}

/* ── form-control (text / email / tel / date / datetime-local) ── */
#sf_form_preview .form-control {
    width: 100%;
    padding: 0.75rem 1rem;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid var(--snx-border);
    border-radius: 12px;
    color: var(--snx-text);
    font-family: var(--snx-font);
    font-size: 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

#sf_form_preview .form-control::placeholder {
    color: rgba(203, 213, 225, 0.45);
}

#sf_form_preview .form-control:focus {
    outline: none;
    border-color: var(--snx-primary);
    box-shadow: 0 0 0 2px rgba(40, 64, 149, 0.25);
}

#sf_form_preview textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

/* ── Custom Dropdown ── */
#sf_form_preview .custom-input-wrapper {
    position: relative;
    width: 100%;
}

#sf_form_preview .custom-dropdown {
    position: relative;
    cursor: pointer;
}

#sf_form_preview .dropdown-selected {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid var(--snx-border);
    border-radius: 12px;
    padding: 0.75rem 1rem;
    color: var(--snx-text);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: border-color 0.2s, background 0.2s;
    user-select: none;
}

#sf_form_preview .dropdown-selected:hover,
#sf_form_preview .dropdown-selected.active {
    border-color: var(--snx-primary);
    background: rgba(15, 23, 42, 0.8);
}

#sf_form_preview .dropdown-selected .fa-chevron-down {
    transition: transform .2s;
    color: var(--snx-muted);
    font-size: .85em;
}

#sf_form_preview .dropdown-selected.active .fa-chevron-down {
    transform: rotate(180deg);
}

/* Searchable Suggestion Input */
#sf_form_preview .custom-dropdown.searchable {
    cursor: text;
}

#sf_form_preview .dropdown-input {
    width: 100%;
}

#sf_form_preview .custom-dropdown.searchable .dropdown-options {
    top: calc(100% + 2px);
}

#sf_form_preview .dropdown-options {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
    background: #1e293b;
    border: 1px solid var(--snx-border);
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    z-index: 500;
    max-height: 220px;
    overflow-y: auto;
    display: none;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.18s, transform 0.18s;
}

#sf_form_preview .dropdown-options.show {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

#sf_form_preview .dropdown-option {
    padding: 0.7rem 1rem;
    color: var(--snx-muted);
    cursor: pointer;
    transition: background 0.15s;
    font-size: .95rem;
}

#sf_form_preview .dropdown-option:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--snx-text);
}

#sf_form_preview .dropdown-option.selected {
    background: var(--snx-primary);
    color: #fff;
}

/* Scrollbar */
#sf_form_preview .dropdown-options::-webkit-scrollbar {
    width: 5px;
}

#sf_form_preview .dropdown-options::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, .1);
}

#sf_form_preview .dropdown-options::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .2);
    border-radius: 3px;
}

/* ── File Upload ── */
#sf_form_preview .file-upload-wrapper {
    width: 100%;
}

#sf_form_preview .btn-file-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 2px dashed var(--snx-border) !important;
    background: rgba(15, 23, 42, 0.3) !important;
    min-height: 80px;
    border-radius: 12px;
    color: var(--snx-muted);
    transition: border-color .25s, background .25s, color .25s;
    cursor: pointer;
    width: 100%;
    font-family: var(--snx-font);
    font-size: .95rem;
}

#sf_form_preview .btn-file-upload:hover {
    border-color: var(--snx-primary) !important;
    background: rgba(15, 23, 42, 0.6) !important;
    color: #93c5fd !important;
}

/* ── Floating action popup — sits inside wrapper's padding-right ── */
#sf_form_preview .sf_action_popup {
    position: absolute;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: rgba(30, 41, 59, 0.95);
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 10px;
    padding: 6px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .5);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s;
    z-index: 400;
}

#sf_form_preview .sf_field_wrapper:hover .sf_action_popup {
    opacity: 1;
    pointer-events: all;
}

#sf_form_preview .sf_btn {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .78em;
    color: #fff;
    transition: opacity .15s, transform .12s;
}

#sf_form_preview .sf_btn:hover {
    opacity: .82;
    transform: scale(1.1);
}

#sf_form_preview .sf_btn_edit {
    background: var(--snx-primary);
}

#sf_form_preview .sf_btn_delete {
    background: #e53935;
}

#sf_form_preview .sf_btn_cond {
    background: #e67e22;
}

#sf_form_preview .sf_btn_add {
    background: #27ae60;
}

/* ── Left panel scrollbar — light blue-grey ── */
#sf_panel_left::-webkit-scrollbar {
    width: 5px;
}

#sf_panel_left::-webkit-scrollbar-track {
    background: #e4eaf2;
    border-radius: 4px;
}

#sf_panel_left::-webkit-scrollbar-thumb {
    background: #9ab4cc;
    border-radius: 4px;
}

#sf_panel_left::-webkit-scrollbar-thumb:hover {
    background: var(--cor-primaria);
}

/* ── Right preview (dark panel) scrollbar — dark track, blue thumb ── */
#sf_panel_right::-webkit-scrollbar,
#sf_form_preview::-webkit-scrollbar {
    width: 5px;
}

#sf_panel_right::-webkit-scrollbar-track,
#sf_form_preview::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .04);
    border-radius: 4px;
}

#sf_panel_right::-webkit-scrollbar-thumb,
#sf_form_preview::-webkit-scrollbar-thumb {
    background: rgba(63, 134, 189, .4);
    border-radius: 4px;
}

#sf_panel_right::-webkit-scrollbar-thumb:hover,
#sf_form_preview::-webkit-scrollbar-thumb:hover {
    background: var(--snx-primary, #284095);
}

/* ── Footer bar buttons (section_solicitationsform) ── */
#sf_footer_buttons {
    display: flex;
    align-items: center;
    height: 100%;
}

#sf_footer_buttons .button_default {
    font-size: 1vw;
}

#sf_footer_buttons .sfp_save:disabled {
    background-color: #bbb !important;
    color: #333 !important;
    cursor: default !important;
    border: 1px solid #bbb !important;
    opacity: .7;
}