/* ===========================
   INTEGRA ESCOLAR · ADMIN THEME
   =========================== */

:root{
  --cc-primary:#1F4E79;
  --cc-primary-dark:#183C5D;
  --cc-accent:#2FAE9B;
  --cc-accent-dark:#249584;
  --cc-accent-soft:#E8F7F3;
  --cc-title:#1F4E79;
  --cc-text:#243447;
  --cc-text-soft:#4B6174;
  --cc-border:#D9E1E8;
  --cc-bg:#F5F7FA;
  --cc-surface:#FFFFFF;
  --cc-surface-soft:#F8FAFC;
}

html, body {
  height: 100%;
}

html, body, #container, input, select, textarea, button {
  font-family: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* ===========================
   FONDO GLOBAL
   =========================== */
html, body, #container{
  background:
    linear-gradient(rgba(245,247,250,.94), rgba(245,247,250,.94)),
    url("../img/bg-admin.c0650b34d6fd.jpg") center top / cover no-repeat fixed !important;
  color: var(--cc-text);
}

body.login{
  background:
    linear-gradient(rgba(245,247,250,.90), rgba(245,247,250,.90)),
    url("../img/bg-admin.c0650b34d6fd.jpg") center top / cover no-repeat fixed !important;
}

/* ===========================
   HEADER
   =========================== */
#header{
  position: sticky !important;
  top: 0;
  z-index: 999999 !important;
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid rgba(31,78,121,.10) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 6px 18px rgba(31,52,71,.04);
}

#site-name{
  margin: 0 !important;
  flex-shrink: 0;
}

#site-name a{
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
}

#site-name img{
  height:72px !important;
  width:auto !important;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  padding: 8px;
  border: 1px solid rgba(31,78,121,.10);
  display:block;
}

.brand--logo-only{
  display:inline-flex !important;
}

.theme-toggle,
.theme-toggle-container,
#theme-toggle{
  display:none !important;
}

html{
  color-scheme: light !important;
}

/* ===========================
   TOPBAR ESTRUCTURA
   =========================== */
.cc-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 14px 24px;
}

.cc-topbar-row{
  width: 100%;
  box-sizing: border-box;
}

.cc-topbar-row--main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}

.cc-topbar-row--nav{
  display:flex;
  justify-content:center;
}

.cc-brand-wrap{
  display:flex;
  align-items:flex-start;
  flex: 0 0 auto;
  min-width: 0;
}

.cc-user-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-left:auto;
  white-space: nowrap;
  flex: 0 0 auto;
}

.cc-welcome,
.cc-user-welcome{
  color: #592d7d !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.cc-user-dropdown{
  position: relative;
}

.cc-user-btn{
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(31,78,121,.10);
  color: var(--cc-title);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.1;
}

.cc-user-btn:hover{
  background: rgba(232,247,243,.72);
}

.cc-portal-menu{
  position: fixed;
  display: none;
  min-width: 220px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(31,78,121,.10);
  border-radius: 14px;
  padding: 8px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 36px rgba(31,52,71,.12);
  z-index: 2147483647 !important;
}

.cc-portal-menu.is-open{
  display:block;
}

.cc-portal-menu a{
  display:block;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration:none !important;
  color: var(--cc-title) !important;
  font-weight: 700;
}

.cc-portal-menu a:hover{
  background: var(--cc-accent-soft);
}

/* ===========================
   TOP NAV
   =========================== */
.cc-topnav{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap: wrap;
  justify-content:center;
  flex: 1 1 auto;
  min-width: 0;
}

.cc-dd__btn{
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(31,78,121,.10);
  color: var(--cc-title);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.1;
}

.cc-dd__btn:hover{
  background: rgba(232,247,243,.72);
}

.cc-dd__btn.is-active{
  background: var(--cc-accent) !important;
  color: #fff !important;
  border: none !important;
}

.cc-dd__btn.is-active:hover{
  background: var(--cc-accent-dark) !important;
}

.cc-dd__menu{
  position: fixed !important;
  display: none;
  min-width: 240px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(31,78,121,.10);
  border-radius: 14px;
  padding: 8px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 36px rgba(31,52,71,.12);
  z-index: 2147483647 !important;
}

.cc-dd.is-open .cc-dd__menu{
  display:block;
}

.cc-dd__menu a{
  display:block !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  text-decoration:none !important;
  color: var(--cc-title) !important;
  white-space: nowrap !important;
  font-weight: 700;
}

.cc-dd__menu a:hover{
  background: var(--cc-accent-soft) !important;
}

/* ===========================
   TITULOS / LINKS
   =========================== */
h1, h2, h3, .module caption, .module h2, #content h1{
  color: var(--cc-title) !important;
}

a:link, a:visited{
  color: var(--cc-title);
}

a:hover{
  color: var(--cc-primary-dark);
  text-decoration: underline;
}

/* ===========================
   CONTENT / CARDS
   =========================== */
/* ===========================
   LAYOUT FULL WIDTH + LOGIN CENTRADO
   =========================== */
.main > #content,
.main #content,
#content{
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
}

#content-main{
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  box-sizing: border-box;
}

.colMS,
.colSM,
.colM{
  width: 100% !important;
  margin: 0 !important;
}

#content-related{
  display: none !important;
}

body.change-form #content,
body.change-list:not(.dashboard) #content,
body.delete-confirmation #content,
body.history #content{
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin: 14px !important;
  box-sizing: border-box;
}

body.change-form #content-main,
body.change-list #content-main,
body.delete-confirmation #content-main,
body.history #content-main{
  width: 100% !important;
  max-width: none !important;
}

body.change-form .module,
body.change-form fieldset.module,
body.change-form .inline-group,
body.history .module,
body.history fieldset.module,
body.delete-confirmation .module{
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

body.login #container{
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

body.login #content{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.login #content-main{
  width: 100%;
  display: flex;
  justify-content: center;
}

body.login .submit-row,
body.login .form-row{
  width: 100%;
}

body.change-list:not(.dashboard):not(.login) #content,
body.change-form:not(.dashboard):not(.login) #content,
body.delete-confirmation:not(.dashboard):not(.login) #content,
body.history:not(.dashboard):not(.login) #content {
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(31,78,121,.08);
  border-radius: 20px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(31,52,71,.04);
}

.module,
.dashboard .module,
.inline-group,
.fieldset,
.form-row{
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(31,78,121,.08);
  border-radius: 18px;
}

.module caption,
.module h2{
  background: rgba(248,250,252,.92) !important;
  border-bottom: 1px solid rgba(31,78,121,.08) !important;
}

input, select, textarea{
  background: var(--cc-surface-soft) !important;
  border: 1px solid #C9D5E0 !important;
  border-radius: 12px !important;
  color: var(--cc-text) !important;
}

input:focus, select:focus, textarea:focus{
  border-color: var(--cc-accent) !important;
  box-shadow: none !important;
  outline: none !important;
}

table{
  border-color: rgba(31,78,121,.10) !important;
}

thead th{
  background: rgba(248,250,252,.96) !important;
  color: var(--cc-title) !important;
  border-bottom: 1px solid rgba(31,78,121,.10) !important;
}

tbody tr{
  background: rgba(255,255,255,.88) !important;
}

tbody tr:hover{
  background: rgba(232,247,243,.42) !important;
}

/* ===========================
   BOTONES
   =========================== */
.button,
input[type=submit],
.submit-row input,
.object-tools a{
  background: var(--cc-primary) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

.button:hover,
input[type=submit]:hover,
.object-tools a:hover{
  background: var(--cc-primary-dark) !important;
}

.button.default,
.submit-row input.default{
  background: var(--cc-accent) !important;
  color: #ffffff !important;
}

.object-tools li{
  float:none !important;
  margin:0 !important;
}

.submit-row{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px !important;
  text-align:right !important;
}

.submit-row .deletelink-box{
  margin:0 !important;
}

.submit-row p,
.submit-row a{
  margin:0 !important;
}

/* ===========================
   HOME
   =========================== */
#recent-actions-module,
#nav-sidebar,
.toggle-nav-sidebar,
#toggle-nav-sidebar,
.breadcrumbs{
  display:none !important;
}

#content h1,
#content-main h1,
.dashboard #content h1,
.dashboard #content-main h1{
  display:none !important;
}

.main > #content,
.main #content,
#content{
  margin-left: 0 !important;
}

.dashboard #content,
.cc-home-wrap{
  max-width: 1240px !important;
  margin: 34px auto !important;
  padding: 0 14px !important;
}

.dashboard #content-main{
  width: 100% !important;
  float: none !important;
  margin: 0 auto !important;
}

.cc-welcome-card{
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 0;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(31,78,121,.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(31,52,71,.06);
  min-height: 470px;
}

.cc-welcome-media{
  min-height: 470px;
  overflow: hidden;
}

.cc-welcome-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

@font-face{
  font-family:"Antrop";
  src:url("../fonts/antrop.02e0bf1f72b1.ttf") format("truetype");
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

.cc-welcome-text{
  padding: 34px 42px;
  display:flex;
  flex-direction: column;
  justify-content: center;
  background: transparent;
}

.cc-welcome-quote{
  font-family:"Antrop", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  color: #1F4E79;
  font-size: 22px;
  line-height: 1.34;
  letter-spacing: .01em;
  margin: 0;
}

.cc-welcome-author{
  margin-top: 18px;
  font-family:"Antrop", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  color: #243447;
  font-size: 18px;
  line-height: 1.2;
}

.cc-welcome-kicker{
  color: var(--cc-accent);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}

.cc-welcome-title{
  color: var(--cc-primary) !important;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 14px 0;
}

.cc-welcome-copy{
  color: var(--cc-text-soft);
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 18px;
}

.cc-welcome-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.cc-welcome-points span{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--cc-accent-soft);
  color: var(--cc-primary);
  font-size: 14px;
  font-weight: 800;
}

/* ===========================
   CHANGE LIST: toolbar + filtro
   =========================== */
.change-list #content-main{
  position: relative;
}

.change-list .changelist-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin: 0 0 14px 0;
  flex-wrap: wrap;
}

.change-list .changelist-topbar .object-tools{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  position:static !important;
  float:none !important;
  width:auto !important;
  max-width:100%;
  flex:1 1 auto;
  min-width:0;
  flex-wrap:wrap;
}

.change-list .changelist-topbar .object-tools ul{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  width:auto !important;
  flex-wrap:wrap;
}

.change-list .changelist-topbar .object-tools li{
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

.change-list .changelist-topbar .object-tools a,
.change-list .changelist-topbar .object-tools button,
.filter-toggle-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border-radius:12px;
  text-decoration:none;
  white-space:nowrap;
  font-weight:700;
  box-sizing:border-box;
}

.filter-toggle-bar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0;
  flex:0 0 auto;
}

.filter-toggle-btn{
  border: 1px solid var(--cc-accent);
  background: var(--cc-accent);
  color: #fff;
  cursor: pointer;
  transition: all .2s ease;
}

.filter-toggle-btn:hover{
  background: var(--cc-accent-dark);
  border-color: var(--cc-accent-dark);
  color: #fff;
}

.change-list #changelist{
  display:flex;
  align-items:flex-start;
  gap:20px;
}

.change-list #changelist .changelist-form-container{
  flex:1 1 auto;
  min-width:0;
}

.change-list #changelist-filter{
  width:280px;
  min-width:280px;
  flex:0 0 280px;
  transition: all .2s ease;
}

body.change-list.filter-collapsed #changelist-filter{
  display:none;
}

body.change-list.filter-collapsed #changelist{
  display:block;
}

#changelist-filter h2{
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:12px;
}

#changelist-filter h3,
#changelist-filter details > summary{
  font-size:14px;
  font-weight:600;
  color:#244a73;
}

/* ===========================
   OTROS
   =========================== */
.cancel-link{
  display: inline-block;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  background: #6B7280 !important;
  color: #fff !important;
  border: none !important;
  text-decoration: none !important;
}

.cancel-link:hover{
  background: #4B5563 !important;
}

.inline-group th.field-estado_color,
.inline-group td.field-estado_color{
  width: 150px !important;
  min-width: 150px !important;
  white-space: nowrap !important;
}

a.button{
  font-family: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* ===========================
   TOOLBAR REPORTES / LIQUIDACIONES
   =========================== */
.cc-view-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.cc-view-toolbar__left{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  min-width:0;
}

.cc-view-toolbar__right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-left:auto;
  justify-content:flex-end;
}

.cc-toolbar-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:160px;
  height:40px;
  padding:0 16px;
  border-radius:10px;
  text-decoration:none !important;
  font-weight:600;
  border:1px solid #d9dee7;
  background:#fff;
  color:#1f3a5f !important;
}

.cc-toolbar-tab:hover{
  background:#f5f8fc;
  text-decoration:none !important;
}

.cc-toolbar-tab.is-active{
  border-color:#1f5fae;
  background:#1f5fae;
  color:#fff !important;
}

/* ===========================
   RESPONSIVE
   =========================== */
@media (max-width: 1100px){
  .change-list #changelist{
    display:block;
  }

  .change-list #changelist-filter{
    width:100%;
    min-width:0;
    margin-top:16px;
  }

  .change-list .changelist-topbar{
    align-items:flex-start;
  }

  .change-list .changelist-topbar .object-tools{
    justify-content:flex-start !important;
  }

  .filter-toggle-bar{
    justify-content:flex-start;
  }
}

@media (max-width: 980px){
  .cc-topbar-row--main{
    flex-direction: column;
    align-items: flex-start;
  }

  .cc-user-tools{
    width: 100%;
    justify-content: flex-end;
  }

  .cc-topbar-row--nav{
    justify-content: flex-start;
  }

  .cc-topnav{
    justify-content: flex-start;
  }

  .cc-welcome-card{
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .cc-welcome-media{
    min-height: 260px;
  }

  .cc-welcome-text{
    padding: 26px 20px;
  }

  .cc-welcome-title{
    font-size: 24px;
  }

  .cc-welcome-copy{
    font-size: 16px;
  }
}

@media (max-width: 640px){
  .cc-welcome-text{
    padding: 26px 24px;
  }

  .cc-welcome-quote{
    font-size: 22px;
    line-height: 1.32;
  }

  .cc-welcome-author{
    font-size: 16px;
  }
}

/* =========================================================
   FIX FINAL · WRAPPERS DJANGO ADMIN
   cards al borde útil, no campos
   ========================================================= */

body.login #main,
body.login .main,
body.login #content-start,
body.login main#content-start {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.login #content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.login #content-main {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  float: none !important;
}

body.dashboard #main,
body.dashboard .main,
body.dashboard #content-start,
body.dashboard main#content-start {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.dashboard #content {
  width: calc(100% - 36px) !important;
  max-width: none !important;
  margin: 18px !important;
  box-sizing: border-box;
}

body.dashboard #content-main {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  float: none !important;
}

body:not(.login):not(.dashboard) #main,
body:not(.login):not(.dashboard) .main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.login):not(.dashboard) #content-start,
body:not(.login):not(.dashboard) main#content-start,
body:not(.login):not(.dashboard) #main > .content,
body:not(.login):not(.dashboard) .main > .content,
body:not(.login):not(.dashboard) #main > #content-start,
body:not(.login):not(.dashboard) .main > #content-start,
body:not(.login):not(.dashboard) #main.shifted > #content-start,
body:not(.login):not(.dashboard) .main.shifted > #content-start {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

body:not(.login):not(.dashboard) #nav-sidebar {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
}

body:not(.login):not(.dashboard).nav-sidebar-enabled #content-start,
body:not(.login):not(.dashboard).nav-sidebar-enabled #main > #content-start,
body:not(.login):not(.dashboard).nav-sidebar-enabled .main > #content-start,
body:not(.login):not(.dashboard) #main.shifted > #content-start,
body:not(.login):not(.dashboard) .main.shifted > #content-start {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

body:not(.login):not(.dashboard) #content {
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin: 14px !important;
  padding: 14px !important;
  box-sizing: border-box;
}

body:not(.login):not(.dashboard) #content-main,
body:not(.login):not(.dashboard) form,
body:not(.login):not(.dashboard) #changelist-form,
body:not(.login):not(.dashboard) .change-form,
body:not(.login):not(.dashboard) .module,
body:not(.login):not(.dashboard) fieldset.module,
body:not(.login):not(.dashboard) .inline-group,
body:not(.login):not(.dashboard) .results,
body:not(.login):not(.dashboard) .submit-row {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

body:not(.login):not(.dashboard) .form-row input,
body:not(.login):not(.dashboard) .form-row select,
body:not(.login):not(.dashboard) .form-row textarea {
  width: auto;
  max-width: 100%;
}

/* =========================================================
   DATEPICKER COMPACTO + SELECTOR NATIVO
   ========================================================= */

input[type="date"],
input.cc-native-date,
input.vDateField {
  min-height: 20px;
}

.calendarbox,
.clockbox {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  font-size: 13px !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(31,52,71,.14) !important;
}

.calendar,
.calendar table {
  width: 100% !important;
}

.calendar caption,
.calendarbox h2 {
  font-size: 13px !important;
  padding: 8px 10px !important;
}

.calendar td,
.calendar th {
  width: 14.285% !important;
  height: 30px !important;
  line-height: 30px !important;
  font-size: 12px !important;
  padding: 0 !important;
}

.calendar-shortcuts,
.calendar-cancel {
  font-size: 12px !important;
  padding: 8px 10px !important;
}

@media (max-width: 980px) {
  body:not(.login):not(.dashboard) #content,
  body.dashboard #content {
    width: calc(100% - 20px) !important;
    margin: 10px !important;
    padding: 12px !important;
  }

  body.login #content-main {
    max-width: 100% !important;
  }
}

/* RRHH: búsqueda más amplia en presentismo individual */
body.app-rrhh.model-presentismodiario .vForeignKeyRawIdAdminField {
  width: 320px !important;
  max-width: 100% !important;
}

body.app-rrhh.model-presentismodiario #id_tipo_novedad {
  min-width: 260px;
}

/* RRHH: presentismo individual */
body.app-rrhh.model-presentismodiario .related-widget-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

body.app-rrhh.model-presentismodiario .related-widget-wrapper .select2-container {
  min-width: 360px !important;
  max-width: min(560px, 100%) !important;
}

body.app-rrhh.model-presentismodiario #id_tipo_novedad,
body.app-rrhh.model-presentismodiario .field-tipo_novedad select {
  min-width: 280px !important;
  max-width: 100% !important;
}

/* Búsquedas relacionadas globales */
.related-widget-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 100%;
}

.related-widget-wrapper .vForeignKeyRawIdAdminField,
.related-widget-wrapper .vManyToManyRawIdAdminField,
input.vForeignKeyRawIdAdminField,
input.vManyToManyRawIdAdminField {
  width: 320px !important;
  max-width: min(520px, 100%) !important;
}

.related-widget-wrapper > a.related-lookup,
.related-widget-wrapper > a.related-widget-wrapper-link,
.related-widget-wrapper > .related-widget-wrapper-link {
  display: inline-flex;
  align-items: center;
}

/* RRHH: jornadas */
body.app-rrhh.model-jornadapersonal #id_horas_calculadas {
  width: 140px !important;
  text-align: center;
  font-weight: 700;
}

body.app-rrhh.model-jornadapersonal .field-dias_semana_multiple ul,
body.app-rrhh.model-jornadapersonal .field-dias_semana_multiple .jornada-multi-days {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

body.app-rrhh.model-jornadapersonal .field-dias_semana_multiple li {
  margin: 0;
}

body.app-rrhh.model-jornadapersonal .field-dias_semana_multiple label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

/* Búsquedas autocomplete más cómodas en toda la plataforma */
.related-widget-wrapper .admin-autocomplete,
.select2-container.admin-autocomplete,
.field-related .select2-container,
.admin-autocomplete {
  min-width: 360px !important;
  max-width: min(620px, 100%) !important;
}

/* RRHH: legajos y novedades */
body.app-rrhh.model-legajopersonal #id_antiguedad_preview,
body.app-rrhh.model-reconocimientoantiguedad #id_total_preview {
  width: 220px !important;
  font-weight: 700;
}

body.app-rrhh.model-jornadapersonal input[type="time"],
body.app-rrhh.model-novedadpersonal input[type="time"] {
  min-width: 120px;
}