input[type="text"],
input[type="number"],
input[type="password"]
{
    font-weight: normal;
    color: #333;

    border: 1px solid #a7a7a7;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    height: 28px;
    padding: 5px 10px;
    font-size: 13px;
    display: block;
    width: 100%;
}

select {
    width: 100%;
    height: 28px;
    line-height: 28px;
    padding: 2px 10px;
    font-weight: normal;
    color: #333;
    border: 1px solid #a7a7a7;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    font-size: 13px;
    display: block;
}

.form-group {
    margin-bottom: 45px;
}

input[readonly], input[readonly="readonly"]  {
    background-color: #eeeeee;
}

input[disabled], input[disabled="disabled"]  {
    background-color: #eeeeee;
}

[disabled] {
    background-color: #eeeeee;
}

li.error_list {
    margin-top: 5px;
    margin-bottom: 5px;
    display: block;
    padding-left: 0;
    margin-left: 0;
}

ul.error_list {
    color: #a94442;
    list-style-type: none;
    padding-left: 0;
}

.form .form-body {
    padding: 8px;
}

.form-group {
    margin-bottom: 2px;
}

label {
    font-weight: 400;
    font-size: 13px;
}

select {
    height: 25px;
    line-height: 25px;
    font-size: 12px;
}

input[type="text"], input[type="number"], input[type="password"] {
    height: 25px;
}

.portlet > .portlet-title {
    margin-bottom: 5px;
    min-height: 30px;
    border-radius: 4px !important;
}

.portlet.box > .portlet-title > .caption {
    padding: 9px 0 9px 0;
    font-size: 14px;
}

.portlet > .portlet-title > .tools {
    padding: 6px 0 8px 0;
}
.btn {
    border-width: 0;
    padding: 3px 14px;
    font-size: 13px;
    border-radius: 4px !important;
}

.portlet{
    border-radius: 4px !important;
}

body {
    font-size: 11px;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
    padding: 5px;
}

.row {
    padding-bottom: 5px;
}



.arkstep {
background-attachment: scroll  !important;
background-clip: border-box  !important;
background-image: none  !important;
background-origin: padding-box  !important;
background-position-x: 0%  !important;
background-position-y: 0%  !important;
background-size: auto  !important;
border-bottom-left-radius: 0px !important;
border-bottom-right-radius: 0px !important;
border-top-left-radius: 0px !important;
border-top-right-radius: 0px !important;
box-sizing: border-box  !important;
direction: ltr  !important;
display: block  !important;
float: left  !important;
font-family: "Open Sans", sans-serif !important;
font-size: 14px !important;
height: 64px !important;
line-height: 20px !important;
min-height: 1px !important;
padding-bottom: 10px !important;
padding-left: 15px !important;
padding-right: 15px !important;
padding-top: 10px !important;
position: relative  !important;
text-size-adjust: 100%  !important;
}

.arkstep_content {
background-attachment: scroll  !important;
background-clip: border-box;
background-color: rgb(255, 255, 255)  !important;
background-image: none  !important;
background-origin: padding-box  !important;
background-position-x: 0%  !important;
background-position-y: 0%  !important;
background-size: auto  !important;
border-bottom-left-radius: 50% !important;
border-bottom-right-radius: 50%  !important;
border-top-left-radius: 50%  !important;
border-top-right-radius: 50%  !important;
box-sizing: border-box  !important;
color: rgb(38, 194, 129)  !important;
direction: ltr  !important;
display: block  !important;
float: left !important;
font-family: "Open Sans", sans-serif  !important;
font-size: 26px  !important;
height: 43px  !important;
line-height: 37.1428px  !important;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
padding-bottom: 3px  !important;
padding-left: 14px  !important;
padding-right: 14px  !important;
padding-top: 3px  !important;
text-size-adjust: 100%  !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)  !important;
}

/* here you can put your own css to customize and override the theme */

/***
Rounded Portlets
***/
/*
.portlet {
	border-radius: 4px !important;
}

.portlet .portlet-title {
	border-radius: 4px 4px 0px 0px !important;
}

.portlet .portlet-body,
.portlet .portlet-body .form-actions  {
	border-radius: 0px 0px 4px 4px !important;
}
*/

/*
Change Quick Sidebar Width
*/

/*
.page-quick-sidebar-wrapper {
  right: -370px;
  width: 370px;
}

.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper {
  margin-left: -370px;
}

.page-quick-sidebar-open.page-quick-sidebar-push-content .page-footer {
  margin-right: 370px;
  margin-left: -370px;
}

.page-sidebar-reversed.page-quick-sidebar-open.page-quick-sidebar-push-content .page-sidebar-wrapper {
  margin-right: 370px;
}

.page-quick-sidebar-open.page-quick-sidebar-push-content.page-quick-sidebar-full-height .page-header {
  margin-left: -370px;
}

.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-list {
  width: 370px !important;
}

.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-item {
  width: 370px !important;
  margin-left: 370px;
}

.page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-content-item-shown .page-quick-sidebar-list {
  margin-left: -370px;
}
*/
/* Pied de page : transparent, il laissait voir le fond bleu du body sous le contenu, en barre
   pleine largeur au bas de chaque page. Le bleu est gardé sous le menu (235px, où s'affiche le
   copyright), le reste prend le blanc du contenu. Menu replié (45px) : copyright masqué, il
   n'y tiendrait pas. */
@media (min-width: 992px) {
  .page-footer {
    background: linear-gradient(to right, transparent 235px, #fff 235px);
  }
  .page-sidebar-closed .page-footer {
    background: linear-gradient(to right, transparent 45px, #fff 45px);
  }
  .page-sidebar-closed .page-footer-inner {
    visibility: hidden;
  }
}
@media (max-width: 991px) {
  .page-footer {
    background: #fff;
  }
  .page-footer .page-footer-inner {
    color: #888;
  }
}
/* Menu latéral en dégradé de bleus. Le menu est transparent sur le fond du body (thème blue.css) :
   le dégradé est donc posé sur le body, fixé à l'écran pour rester identique au défilement, et le
   pied de page sous le menu en hérite. Survol, rubrique ouverte et page active en voiles blancs
   translucides, accent bleu clair à gauche, au lieu des aplats et du rouge du thème. */
body {
  background: linear-gradient(165deg, #4F8CC2 0%, #3B6E9E 45%, #26507B 100%) fixed;
}
.page-sidebar,
.page-sidebar .page-sidebar-menu:hover .sub-menu {
  background: transparent;
}
.page-sidebar .page-sidebar-menu > li > a {
  border-top-color: rgba(255, 255, 255, .06);
  transition: background-color .15s ease;
}
.page-sidebar .page-sidebar-menu > li:hover > a,
.page-sidebar .page-sidebar-menu > li.open > a {
  background: rgba(255, 255, 255, .08);
}
.page-sidebar .page-sidebar-menu > li.active.open > a,
.page-sidebar .page-sidebar-menu > li.active.open > a:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .04));
  box-shadow: inset 3px 0 0 #9FD0FF;
}
.page-sidebar .page-sidebar-menu .sub-menu > li:hover > a,
.page-sidebar .page-sidebar-menu .sub-menu > li.open > a {
  background: rgba(255, 255, 255, .08) !important;
}
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a {
  background: rgba(255, 255, 255, .16) !important;
  box-shadow: inset 3px 0 0 #9FD0FF;
}
/* Menu replié : les sous-menus s'ouvrent en volet par-dessus le contenu, il leur faut un fond plein */
.page-sidebar-closed .page-sidebar .page-sidebar-menu:hover .sub-menu {
  background: #2F5D88;
}

/* Bouton de repli et recherche du menu : le thème les peint en bleu plein (image JPEG pour le
   bouton, #4276A4 pour le champ), ce qui fait des pavés plus foncés sur le dégradé. Même voile
   blanc translucide que le reste du menu ; arrondis en !important, Metronic les remet à 0. */
.page-sidebar .sidebar-toggler,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler {
  background:
    linear-gradient(#fff, #fff) center 8px / 14px 2px no-repeat,
    linear-gradient(#fff, #fff) center 12.5px / 14px 2px no-repeat,
    linear-gradient(#fff, #fff) center 17px / 14px 2px no-repeat,
    rgba(255, 255, 255, .12);
  border-radius: 6px !important;
}
.page-sidebar .sidebar-search .input-group,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group,
.page-sidebar .sidebar-search.open .input-group {
  background: rgba(255, 255, 255, .12);
  border-bottom: 0;
  border-radius: 6px !important;
}
.page-sidebar .sidebar-search .input-group .form-control,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control {
  background-color: transparent;
  color: #fff;
  padding-left: 10px;
}
.page-sidebar .sidebar-search .input-group .form-control::placeholder {
  color: rgba(255, 255, 255, .6);
}
.page-sidebar .sidebar-search .input-group .form-control::-webkit-input-placeholder {
  color: rgba(255, 255, 255, .6);
}
.page-sidebar .sidebar-search .input-group .input-group-btn .btn > i {
  color: rgba(255, 255, 255, .75);
}

/* Barre du haut : ombre portée sur le contenu qui défile dessous */
.page-header.navbar {
  box-shadow: 0 4px 18px rgba(16, 42, 70, .5), 0 1px 3px rgba(16, 42, 70, .3);
}

/* Icônes du menu (Font Awesome Pro 6, duotone) : blanc et bleu clair sur le dégradé */
.page-sidebar .page-sidebar-menu > li > a > i.fa-duotone {
  --fa-primary-color: #fff;
  --fa-secondary-color: #9FD0FF;
  --fa-secondary-opacity: .7;
  font-size: 15px;
}

/* Patrimoine : liste des résidences (chargée au défilement) et détail d'une résidence.
   !important sur les arrondis : le thème Metronic les remet à 0 sur tous les éléments. */
.asset-list { background: #fff; border-radius: 10px !important; box-shadow: 0 2px 14px rgba(16, 42, 70, .10); }
.asset-list__head {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;
    padding: 18px 22px; border-bottom: 1px solid #E6EDF4;
}
.asset-list__title { margin: 0; font-size: 20px; font-weight: 600; color: #26507B; }
.asset-list__count { font-size: 13px; color: #5B7690; }
.asset-list__count b { color: #26507B; }
.asset-list__search { position: relative; margin-left: auto; width: 340px; max-width: 100%; }
.asset-list__search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #8AA2B8; }
.asset-list__search input {
    width: 100%; height: 36px; padding: 0 12px 0 34px;
    border: 1px solid #D3DFEA; border-radius: 18px !important; background: #F6F9FC;
    font-size: 13px; outline: none; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.asset-list__search input:focus { border-color: #4F8CC2; background: #fff; box-shadow: 0 0 0 3px rgba(79, 140, 194, .15); }

.asset-list__table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.asset-list__table th {
    position: sticky; top: var(--asset-list-sticky-top, 0px); z-index: 2;
    padding: 10px 14px; background: #F3F7FB; border-bottom: 1px solid #E1E9F1;
    color: #5B7690; font-size: 11px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; text-align: left;
}
.asset-list__table td { padding: 10px 14px; border-bottom: 1px solid #EEF2F6; vertical-align: middle; color: #2B3A48; }
.asset-list__table tbody tr { transition: background-color .12s; }
.asset-list__table tbody tr:hover { background: #F5F9FD; }
.asset-list__table tbody tr.is-new { animation: asset-list-in .35s ease-out both; }
.asset-list__client { font-weight: 600; color: #26507B; }
.asset-list__code {
    display: inline-block; padding: 2px 8px; border-radius: 6px !important;
    background: #EAF2FA; color: #26507B; font: 600 12px/1.5 Menlo, Consolas, monospace;
}
.asset-list__address { color: #5B7690; max-width: 380px; }
.asset-list__number { text-align: right !important; font-variant-numeric: tabular-nums; }
.asset-list__date { color: #5B7690; white-space: nowrap; font-variant-numeric: tabular-nums; }
.asset-list__action { text-align: right !important; white-space: nowrap; }
.asset-list__button {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px;
    border: 1px solid #C9DAEA; border-radius: 16px !important; color: #26507B; font-weight: 600; font-size: 12px;
    transition: background-color .15s, border-color .15s, color .15s;
}
.asset-list__button:hover, .asset-list__button:focus { background: #26507B; border-color: #26507B; color: #fff; text-decoration: none; }
.asset-list__missing { display: inline-block; padding: 3px 9px; border-radius: 12px !important; background: #FDF0E2; color: #A4570C; font-size: 11px; font-weight: 600; }

/* lignes fantômes pendant un chargement que le préchargement n'a pas devancé */
.asset-list__skeleton td span {
    display: block; height: 10px; border-radius: 5px !important;
    background: linear-gradient(90deg, #EEF2F6 0%, #F7FAFC 50%, #EEF2F6 100%) 0 0 / 200% 100%;
    animation: asset-list-shimmer 1.2s linear infinite;
}
.asset-list__footer { padding: 16px; text-align: center; color: #8AA2B8; font-size: 12px; }
.asset-list__footer button {
    margin-left: 8px; padding: 4px 12px; border: 1px solid #C9DAEA; border-radius: 14px !important;
    background: #fff; color: #26507B; font-weight: 600;
}
.asset-list__empty { padding: 48px 16px; text-align: center; color: #5B7690; }
.asset-list__empty i { display: block; margin-bottom: 10px; font-size: 28px; color: #B5C8DA; }

@keyframes asset-list-in { from { opacity: 0; transform: translateY(4px); } }
@keyframes asset-list-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) {
    .asset-list__table tbody tr.is-new, .asset-list__skeleton td span { animation: none; }
}

/* Détail d'une résidence : en-tête à chiffres, champs éditables, barre d'enregistrement */
.asset-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; color: #26507B; font-weight: 600; }
.asset-back:hover { color: #4F8CC2; text-decoration: none; }
.asset-list + .asset-list { margin-top: 20px; }
/* place sous le dernier tableau pour la barre d'enregistrement, fixée en bas de l'écran */
#asset-detail-form { padding-bottom: 70px; }
.asset-list__subtitle { margin-top: 4px; color: #5B7690; font-size: 13px; }
.asset-stats { display: flex; gap: 12px; margin-left: auto; }
.asset-stats__item { min-width: 110px; padding: 10px 16px; border-radius: 10px !important; background: #F3F7FB; text-align: center; }
.asset-stats__value { display: block; font-size: 22px; font-weight: 700; color: #26507B; font-variant-numeric: tabular-nums; }
.asset-stats__label { font-size: 11px; color: #5B7690; text-transform: uppercase; letter-spacing: .6px; }
.asset-list__section { margin: 0; font-size: 16px; font-weight: 600; color: #26507B; }
.asset-list__filter {
    height: 36px; padding: 0 10px; border: 1px solid #D3DFEA; border-radius: 18px !important;
    background: #F6F9FC; font-size: 13px; color: #2B3A48;
}
.asset-field {
    width: 100%; max-width: 150px; height: 30px; padding: 0 8px;
    border: 1px solid #D3DFEA; border-radius: 6px !important; background: #fff; font-size: 13px;
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.asset-field--year { max-width: 80px; text-align: center; font-variant-numeric: tabular-nums; }
.asset-field:focus { outline: none; border-color: #4F8CC2; box-shadow: 0 0 0 3px rgba(79, 140, 194, .15); }
.asset-field.is-changed { border-color: #F26522; background: #FFF6EF; }
.asset-chip {
    display: inline-block; margin: 1px 2px; padding: 1px 7px; border-radius: 10px !important;
    background: #EAF2FA; color: #26507B; font-size: 11px; font-weight: 600;
}
.asset-list__muted { color: #A9BACB; }
/* barre d'enregistrement : toujours là, pour qu'on sache où enregistrer ; orange dès qu'il y a
   des modifications en cours */
.asset-savebar {
    position: fixed; right: 24px; bottom: 20px; z-index: 1000;
    display: flex; align-items: center; gap: 14px; padding: 8px 10px 8px 18px;
    border-radius: 28px !important; background: #fff; color: #5B7690; box-shadow: 0 6px 22px rgba(16, 42, 70, .18);
    transition: background-color .2s, color .2s;
}
.asset-savebar.is-dirty { background: #1F3F61; color: #fff; }
.asset-savebar__cancel { display: none; }
.asset-savebar.is-dirty .asset-savebar__cancel { display: inline-block; }
.asset-savebar__count { font-weight: 600; }
.asset-savebar__cancel { padding: 6px 12px; border: 0; background: transparent; color: #BFD6EC; font-weight: 600; }
.asset-savebar__cancel:hover { color: #fff; }
.asset-savebar .btn { border-radius: 18px !important; padding: 6px 18px; font-weight: 600; background: #F26522; border-color: #F26522; color: #fff; }
.asset-savebar .btn:hover { background: #D9490F; border-color: #D9490F; }
.asset-savebar .btn[disabled] { background: #C9D6E3; border-color: #C9D6E3; opacity: 1; cursor: default; }

/*
 * Menu de gauche qui reste visible quand on descend dans une page longue (écrans d'ordinateur).
 * Le menu flotte dans un conteneur de hauteur nulle : « display: contents » efface ce conteneur,
 * le menu se cale alors sur toute la hauteur de la page et « sticky » le garde sous l'en-tête
 * (46px). Menu déplié plus haut que l'écran : il défile seul. Menu replié : pas de défilement,
 * il couperait les sous-menus qui s'ouvrent au survol.
 */
@media (min-width: 992px) {
    .page-sidebar-wrapper {
        display: contents;
    }

    .page-sidebar {
        position: sticky;
        top: 46px;
    }

    body:not(.page-sidebar-closed) .page-sidebar {
        max-height: calc(100vh - 46px);
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
}
