/* ===== BASE RESET ===== */
html, body {
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== SIGNIN PAGE ===== */
body.signin-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  background: radial-gradient(circle at top right, #144b8f7a, #5b6f99);
}

.form-signin .card .card-header:first-child {
    background: none;
}

/* ===== SCROLLABLE-PAGE: el contenedor del login card =====
 * El JS hace: initScrollbar('.scrollable-page', { setHeight: $(window).height() - 50 })
 * Esto le fija una height que deja el footer flotando encima.
 * Sobreescribimos para que el contenedor crezca libremente
 * y el footer quede debajo naturalmente.
 */
body.signin-page .scrollable-page {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: visible;
}

@media (max-width: 768px) {
  body.signin-page .scrollable-page,
  body.signin-page .scrollable-page > div {
    height: auto !important;
    min-height: unset !important;
    overflow: visible !important;
  }
}

/* ===== FORM-SIGNIN: wrapper del card ===== */
body.signin-page .form-signin {
  width: 100%;
  max-width: 420px;
  padding: 20px 15px;
}

/* ===== LOGIN CARD: logo UDP centrado ===== */
.signin-page .card-header {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.signin-page .card-header img {
  display: block;
  margin: 0 auto;
}

/* ===== FOOTER ===== */
.footer {
  width: 100%;
  background: #062f42db;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  border-top: 0px solid #b2b2ec;
  color: #fff;
  min-height: 4em;
  padding: 0.5em 1em;
  flex-shrink: 0;
  position: relative;
  z-index: 10;
}

.footer .p15 {
  display: inline-block;
  padding: 0.5em;
}

.footer a:hover,
.footer a:focus,
.footer a:active {
  color: #c5c6d2;
  font-weight: 700;
}

.footer a {
  padding: 0.5em 1em;
  color: #adc2da;
  font-weight: 600;
  text-decoration: none;
}

.footer .float-end a:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.footer .float-end a {
  display: inline-block;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 4px;
  text-decoration: none;
}

.footer .float-start {
  padding: 0.5em;
}

/* ===== MOBILE: ≤768px ===== */
@media (max-width: 768px) {

  body {
    font-size: 16px;
    line-height: 1.6;
  }

  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.3rem; }

  .container,
  .wrapper,
  .container-fluid {
    width: 100%;
    max-width: 100%;
  }

  .nav-link {
    /*padding: 12px 20px;*/
    display: block;
    border-bottom: 1px solid #eee;
  }

  .navbar {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 100%;
  }

  .grid-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .card {
    margin-bottom: 15px;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    width: 100%;
  }

  .card img {
    height: auto;
    width: 100%;
  }

  .btn-primary,
  .btn-submit {
    width: 100%;
    padding: 15px;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Footer mobile: apilado y centrado */
  .footer {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px 10px;
    min-height: auto;
    height: auto !important;
    gap: 8px;
  }

  .footer .container-fluid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 0;
    width: 100%;
	font-size:0.7em;
  }

  .footer .float-start,
  .footer .float-end {
    float: none !important;
    width: 100%;
    text-align: center;
  }

  .footer a {
    padding: 6px 10px;
    display: inline-block;
  }
}

/* ===== FORM-PROJECTS ===== */
a#file_or_category_add_button {
    background: #870b0b;
    color: #fff;
}

a:hover#file_or_category_add_button {
    background: #000;
    color: #fff;
    font-weigth:700;
	
}

.comment-like-top {
    position: relative;
    right: 40px;
    display: inline-block;
}

/* ===== NAVIGATION MENUS ===== */

.navbar-nav .nav-item #user-dropdown {padding: 17px 0px !important;display: inline-flex;}

.sidebar-menu li a span {margin-left: 5px;}

/* ===== CUSTOM FIELDS ===== */

.project-custom-fields [class="p10"] {font-weight: 700;	text-transform: uppercase;}

.pnel-body.no-padding {background: none; border-radius: 10px; border: 2px solid #b2b2ec;}

/* ===== HEADERS ===== */

.card .card-header:first-child {border-radius: 5px 5px 0 0;background: #000;    color: #fff;text-transform: uppercase;}

/* ===== TIMESHEET ===== */
#project-timesheet-tabs a.btn.btn-default {background: #0d4eb2; color: #fff;}

/* ===== DASHBOARD & PROJECT ===== */
#project-table .progress span.hide {
display: block !important;
margin-top: -17px;
position: absolute;
font-size: 12px;
font-weight: 500;
}