/* Civimetra · capa visual final
   Las reglas de esta hoja se mantienen separadas de los estilos de cuenta,
   importación y proyecto para que no se pisen entre sí. */

/* Menú de sesión */
body .account-menu-popover > footer [data-civimetra-logout]{
  border:1px solid #b84650!important;
  background:linear-gradient(135deg,#c45760 0%,#b84650 58%,#a73c47 100%)!important;
  color:#fff!important;
  font-weight:850!important;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(91,22,31,.25);
  box-shadow:0 7px 16px rgba(184,70,80,.28),inset 0 1px 0 rgba(255,255,255,.2)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
body .account-menu-popover > footer [data-civimetra-logout]:hover,
body .account-menu-popover > footer [data-civimetra-logout]:focus-visible{
  filter:brightness(1.06) saturate(1.08);
  transform:translateY(-1px);
  box-shadow:0 0 0 4px rgba(196,87,96,.16),0 11px 21px rgba(184,70,80,.38),inset 0 1px 0 rgba(255,255,255,.25)!important;
}
body .account-menu-popover > footer [data-civimetra-logout]:active{
  transform:translateY(0);
  box-shadow:inset 0 2px 5px rgba(91,22,31,.22)!important;
}

/* Controles especiales: pertenecen al mismo bloque que Control de Civimetra.
   Mantienen sus medidas y tipografía, diferenciándose sólo por su color. */
body .account-menu-popover.civimetra-active-menu > button.admin-access{
  margin:5px 0 0!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-ops-menu-trigger.admin-access{
  background:#f0c857!important;
  color:#463409!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-ops-menu-trigger.admin-access:hover{
  background:#e6b946!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-ops-menu-trigger.admin-access > i{
  background:#fff3c9!important;
  color:#6d520d!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-ops-menu-trigger.admin-access small{
  color:#72520d!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-catalog-menu-trigger.admin-access{
  background:#16735d!important;
  color:#fff!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-catalog-menu-trigger.admin-access:hover{
  background:#115f4d!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-catalog-menu-trigger.admin-access > i{
  background:#ffffff24!important;
  color:#fff!important;
}
body .account-menu-popover.civimetra-active-menu > button.civi-catalog-menu-trigger.admin-access small{
  color:#c9e6dc!important;
}

/* Foto de perfil de Google: ocupa exactamente el círculo del avatar. */
body .civimetra-avatar-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  background:#edf3f7!important;
}
body .portfolio-top .start-avatar,
body .builder-topbar .user-menu-button,
body .start-header .start-avatar{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  overflow:hidden!important;
  flex:0 0 44px!important;
}
body .civimetra-avatar-has-photo{
  color:transparent!important;
  text-shadow:none!important;
}
body .portfolio-top .start-avatar.civimetra-avatar-has-photo,
body .builder-topbar .user-menu-button.civimetra-avatar-has-photo,
body .start-header .start-avatar.civimetra-avatar-has-photo{
  border:1px solid #2f557f!important;
}

/* Estancia inicial */
body #root .empty-house:before{left:10px!important}

/* Base de precios. El nombre de cada fase usa la misma métrica que el título
   de un concepto de la lista de la derecha (12 px), con peso reforzado. */
body #root .catalog-layout-new > aside{padding:10px!important}
body #root .catalog-phase-title{padding:10px 10px 8px!important}
body #root .catalog-phase-title small{
  display:block;
  color:#718096!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.7px;
}
body #root .catalog-phase-title b{
  display:block;
  margin-top:3px!important;
  color:#263d58!important;
  font-family:var(--font-geist-sans),Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.35!important;
}
body #root .catalog-layout-new > aside button{
  min-height:44px;
  gap:8px;
  padding:10px!important;
  color:#31465f;
  font-family:var(--font-geist-sans),Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-transform:none!important;
}
body #root .catalog-layout-new > aside button span{
  font-size:10px!important;
  font-weight:850!important;
}

/* Revisión de presupuesto antes de las exportaciones. */
.civimetra-validation-layer{
  position:fixed;
  z-index:10050;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(19,38,59,.46);
  backdrop-filter:blur(5px);
}
.civimetra-validation-modal{
  position:relative;
  width:min(640px,100%);
  max-height:min(760px,calc(100vh - 40px));
  overflow:auto;
  padding:28px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(20,45,70,.27);
  color:#263d58;
}
.civimetra-validation-close{
  position:absolute;
  top:15px;
  right:15px;
  display:grid;
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#edf2f5;
  color:#49627c;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.civimetra-validation-close:hover{background:#dce8e5;color:#176c5b}
.civimetra-validation-eyebrow{
  display:inline-flex;
  margin-bottom:8px;
  color:#157060;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
}
.civimetra-validation-modal h2{
  max-width:480px;
  margin:0;
  color:#243b56;
  font-size:23px;
  line-height:1.2;
}
.civimetra-validation-intro{
  margin:9px 36px 18px 0;
  color:#64758a;
  font-size:13px;
  line-height:1.5;
}
.civimetra-validation-list{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.civimetra-validation-list li{
  position:relative;
  padding:12px 13px 12px 41px;
  border:1px solid #e1e7eb;
  border-radius:10px;
  background:#f8fafb;
}
.civimetra-validation-list li::before{
  position:absolute;
  top:13px;
  left:14px;
  display:grid;
  width:17px;
  height:17px;
  place-items:center;
  border-radius:50%;
  content:"!";
  font-size:11px;
  font-weight:900;
}
.civimetra-validation-list li.is-error{border-color:#f0caca;background:#fff8f8}
.civimetra-validation-list li.is-error::before{background:#ca4c4c;color:#fff}
.civimetra-validation-list li.is-warning{border-color:#eadfc1;background:#fffdf7}
.civimetra-validation-list li.is-warning::before{background:#b27b20;color:#fff}
.civimetra-validation-list li.is-more{
  padding:10px 12px;
  border-style:dashed;
  color:#67798d;
  font-size:12px;
}
.civimetra-validation-list li.is-more::before{display:none}
.civimetra-validation-list b,.civimetra-validation-list span{display:block}
.civimetra-validation-list b{color:#2e455f;font-size:13px}
.civimetra-validation-list span{margin-top:3px;color:#6d7d90;font-size:12px;line-height:1.4}
.civimetra-validation-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:21px;
}
.civimetra-validation-actions button{min-height:41px}
@media (max-width:560px){
  .civimetra-validation-layer{padding:10px}
  .civimetra-validation-modal{max-height:calc(100vh - 20px);padding:23px 18px 18px;border-radius:14px}
  .civimetra-validation-modal h2{padding-right:28px;font-size:20px}
  .civimetra-validation-actions{flex-direction:column-reverse}
  .civimetra-validation-actions button{width:100%}
}
