/* =====================================================================
   estilos_custom.css — Helpdesk Tecnovetti
   REGRA: só tocar em shell externo (header, sidebar, login, page-content).
   NUNCA sobrescrever Bootstrap, cores de texto, cards ou tabelas internas.
   ===================================================================== */

@import url(./ocomon_colors.css?v=novo2);

/* -----------------------------------------------------------------------
   Logomarcas
   --------------------------------------------------------------------- */
.login-mainlogo {
    background: url("../logos/MAIN_LOGO1.png") no-repeat center center;
    background-size: contain;
    display: block;
    height: 56px;
    width: 100%;
}

.header-mainlogo {
    background: url("../logos/MAIN_LOGO.png") no-repeat top left;
    background-size: contain;
    display: block;
    width: 280px;
    min-height: 46.3px;
    max-height: 46.3px;
}

.print-mainlogo {
    background: url("../logos/MAIN_LOGO1.png") no-repeat center right;
    background-size: contain;
    display: block;
    width: 100px;
    min-height: 46.3px;
    max-height: 46.3px;
}

.report-mainlogo {
    background: url("../logos/MAIN_LOGO1.png") no-repeat top left;
    background-size: contain;
    display: block;
    width: 150px;
    min-height: 46.3px;
    max-height: 46.3px;
}

/* -----------------------------------------------------------------------
   Header / Topo
   --------------------------------------------------------------------- */
div.topo-color,
span.topo-color {
    background: linear-gradient(90deg, #1e3a8a 0%, #3b82f6 100%) !important;
    color: white !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
    border-bottom: none !important;
}

a.topo-color { color: white !important; }

#header_logo { background-color: transparent !important; }

/* -----------------------------------------------------------------------
   Barra de navegação superior
   --------------------------------------------------------------------- */
div.barra {
    background: #0f172a !important;
    color: white !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-right: none !important;
    border-left: none !important;
}

.td-barra {
    color: rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px !important;
    padding: 5px 14px !important;
    margin: 2px 3px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.td-barra:hover {
    background-color: #ffffff !important;
    color: #1d4ed8 !important;
}

a.barra-selected {
    background-color: #ffffff !important;
    color: #1d4ed8 !important;
}

.td-barra-right {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 12px !important;
}

/* -----------------------------------------------------------------------
   Menu lateral (sidebar)
   --------------------------------------------------------------------- */
.ocomon-theme .sidebar-wrapper {
    background: linear-gradient(180deg, #1e3a8a 0%, #0f172a 100%) !important;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.25) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
    height: 100%;
}

.sidebar-wrapper {
    height: 100%;
}

.sidebar-wrapper .sidebar-menu ul li a {
    border-radius: 10px !important;
    margin: 3px 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    transition: all 0.2s ease !important;
    padding: 9px 14px !important;
}

.sidebar-wrapper .sidebar-menu ul li a:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    transform: translateX(4px) !important;
}

.sidebar-wrapper .sidebar-menu ul li.active > a,
.sidebar-wrapper .sidebar-menu ul li a.active {
    background: rgba(59, 130, 246, 0.35) !important;
    color: #ffffff !important;
}

/* -----------------------------------------------------------------------
   Fundo do layout externo — nebulosa animada
   Visível apenas nas margens ao redor do iframe
   --------------------------------------------------------------------- */
.page-wrapper .page-content {
    background-color: #05091a;
    background-image:
        linear-gradient(rgba(56, 189, 248, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(56, 189, 248, 0.04) 1px, transparent 1px),
        linear-gradient(135deg,
            #05091a 0%,
            #0d1b3e 18%,
            #1a0845 35%,
            #071e3d 52%,
            #050f1c 68%,
            #0a1f10 85%,
            #05091a 100%
        );
    background-size: 44px 44px, 44px 44px, 400% 400%;
    animation: nebula-drift 22s ease infinite;
    height: 100%;
}

@keyframes nebula-drift {
    0%   { background-position: 0 0, 0 0, 0%   0%;   }
    25%  { background-position: 0 0, 0 0, 60%  40%;  }
    50%  { background-position: 0 0, 0 0, 100% 80%;  }
    75%  { background-position: 0 0, 0 0, 40%  100%; }
    100% { background-position: 0 0, 0 0, 0%   0%;   }
}

/* -----------------------------------------------------------------------
   Tela de login
   --------------------------------------------------------------------- */
.container-login100 {
    background: linear-gradient(135deg, #0b1929 0%, #1e3a8a 50%, #2563eb 100%) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
}

.login100-more { display: none !important; }

.wrap-login100 {
    max-width: 460px !important;
    width: 100% !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border-radius: 24px !important;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.35) !important;
    overflow: hidden !important;
    flex-direction: column !important;
}

.login100-form {
    width: 100% !important;
    padding: 52px 44px 44px !important;
    background: transparent !important;
    min-height: unset !important;
}

.login100-form-title {
    margin-bottom: 36px !important;
    display: flex !important;
    justify-content: center !important;
}

.wrap-input100 {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background-color: #f8fafc !important;
    height: 58px !important;
    transition: all 0.2s ease !important;
    margin-bottom: 14px !important;
}

.wrap-input100:focus-within {
    border-color: #3b82f6 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}

.login100-form-btn,
.login50-form-btn {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
    border-radius: 12px !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(59, 130, 246, 0.35) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    height: 52px !important;
    transition: all 0.2s ease !important;
}

.login100-form-btn:hover,
.login50-form-btn:hover {
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.5) !important;
    transform: translateY(-2px) !important;
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%) !important;
}

.login100-form-social-item {
    background: #eff6ff !important;
    color: #3b82f6 !important;
    border-radius: 12px !important;
    width: 46px !important;
    height: 46px !important;
    transition: all 0.2s ease !important;
}

.login100-form-social-item:hover {
    background: #3b82f6 !important;
    color: #ffffff !important;
    transform: scale(1.06) !important;
}

/* -----------------------------------------------------------------------
   Miscelânea
   --------------------------------------------------------------------- */
.cursor-no-event { cursor: default !important; }

iframe:not(#iframeMain) {
    border: 1px solid #e2e8f0;
    border-radius: 4px;
}
