/* Agentes Prime Platform Foundation 1.2 — sistema operativo profesional humano */
:root{
  --ap5-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ap5-bg:#f7f3e7;
  --ap5-surface:#ffffff;
  --ap5-surface-soft:#fbf7e9;
  --ap5-surface-warm:#fffaf0;
  --ap5-text:#26301f;
  --ap5-muted:#6f705f;
  --ap5-green:#30451f;
  --ap5-green-2:#243617;
  --ap5-green-soft:#edf3e7;
  --ap5-gold:#b79e22;
  --ap5-gold-dark:#7f6a00;
  --ap5-border:#e4d8b3;
  --ap5-border-strong:#d2bf7d;
  --ap5-danger:#9f2d2d;
  --ap5-warning:#9a5b12;
  --ap5-ok:#21663a;
  --ap5-radius:20px;
  --ap5-radius-sm:13px;
  --ap5-shadow:0 10px 28px rgba(73,62,20,.065);
  --ap5-shadow-strong:0 24px 70px rgba(52,45,18,.20);
  --ap5-safe-top:env(safe-area-inset-top,0px);
  --ap5-safe-right:env(safe-area-inset-right,0px);
  --ap5-safe-bottom:env(safe-area-inset-bottom,0px);
  --ap5-safe-left:env(safe-area-inset-left,0px);

  /* Compatibilidad progresiva con los componentes heredados del CRM. */
  --ap-green:var(--ap5-green);
  --ap-green-2:var(--ap5-green-2);
  --ap-green-soft:var(--ap5-green-soft);
  --ap-gold:var(--ap5-gold);
  --ap-gold-dark:var(--ap5-gold-dark);
  --ap-gold-soft:#f8efcf;
  --ap-bg:var(--ap5-bg);
  --ap-card:var(--ap5-surface);
  --ap-border:var(--ap5-border);
  --ap-border-2:var(--ap5-border-strong);
  --ap-text:var(--ap5-text);
  --ap-muted:var(--ap5-muted);
  --ap-danger:var(--ap5-danger);
  --ap-ok:var(--ap5-ok);
  --ap-shadow:var(--ap5-shadow);
  --ap-shadow-strong:var(--ap5-shadow-strong);
  --ap-radius:var(--ap5-radius);
  --ap-radius-sm:var(--ap5-radius-sm);
}

html{
  min-width:0;
  background:var(--ap5-bg)!important;
  font-family:var(--ap5-font)!important;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}
body.ap5-app-body{
  min-width:0;
  min-height:100vh;
  min-height:100dvh;
  margin:0!important;
  overflow-x:clip!important;
  background:var(--ap5-bg)!important;
  color:var(--ap5-text)!important;
  font-family:var(--ap5-font)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.ap5-app-body *{box-sizing:border-box;}
body.ap5-app-body img,body.ap5-app-body svg{max-width:100%;}
body.ap5-modal-open{overflow:hidden!important;}
body.ap5-nav-sheet-open{overflow:hidden!important;}

.ap5-skip-link{
  position:fixed;
  z-index:50000;
  left:12px;
  top:8px;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  color:var(--ap5-green);
  font-weight:800;
  box-shadow:var(--ap5-shadow-strong);
}
.ap5-skip-link:focus{transform:none;}

.ap5-message-region{
  position:fixed;
  z-index:30000;
  top:calc(12px + var(--ap5-safe-top));
  left:50%;
  width:min(640px,calc(100vw - 24px));
  transform:translateX(-50%);
  display:grid;
  gap:8px;
  pointer-events:none;
}
.ap5-message{
  padding:12px 14px;
  border:1px solid var(--ap5-border);
  border-radius:13px;
  background:#fff;
  box-shadow:var(--ap5-shadow-strong);
  font-size:14px;
  font-weight:700;
  pointer-events:auto;
}
.ap5-message.is-success{border-color:#bde4c7;background:#f2fbf4;color:#175f31;}
.ap5-message.is-error{border-color:#f2c2c2;background:#fff7f7;color:#922323;}
.ap5-message.is-warning{border-color:#ead9a9;background:#fffbef;color:#86510f;}

:where(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(41,64,44,.22);
  outline-offset:2px;
}
[hidden]{display:none!important;}

/* Lenguaje visual común: menos caja, más jerarquía. */
body.ap5-app-body .ap-card,
body.ap5-app-body .mini-box,
body.ap5-app-body .crm-contactos-panel,
body.ap5-app-body .kanban-box,
body.ap5-app-body .agenda-box,
body.ap5-app-body .prioridades-box,
body.ap5-app-body .ap-historico-actividad,
body.ap5-app-body .module{
  background:var(--ap5-surface)!important;
  border:1px solid var(--ap5-border)!important;
  border-radius:var(--ap5-radius)!important;
  box-shadow:var(--ap5-shadow)!important;
}
body.ap5-app-body .crm-btn,
body.ap5-app-body .ap-btn,
body.ap5-app-body button.crm-btn,
body.ap5-app-body button.ap-btn,
body.ap5-app-body .btn-mini,
body.ap5-app-body .button{
  min-height:40px!important;
  padding:9px 14px!important;
  border:1px solid #9a8300!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#b9a31c,#9e8800)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:var(--ap5-font)!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.15!important;
  text-decoration:none!important;
  white-space:normal!important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
body.ap5-app-body .crm-btn:hover,
body.ap5-app-body .ap-btn:hover,
body.ap5-app-body .btn-mini:hover,
body.ap5-app-body .button:hover{
  background:var(--ap5-green)!important;
  border-color:var(--ap5-green)!important;
  color:#fff!important;
  text-decoration:none!important;
  transform:translateY(-1px);
}
body.ap5-app-body .crm-btn-secondary,
body.ap5-app-body .ap-btn-secondary,
body.ap5-app-body .ap-topbar-link,
body.ap5-app-body .ap-btn.ghost{
  background:#fff!important;
  color:var(--ap5-green)!important;
  border-color:var(--ap5-border-strong)!important;
  box-shadow:0 2px 8px rgba(92,73,0,.04)!important;
}
body.ap5-app-body .crm-btn-secondary:hover,
body.ap5-app-body .ap-btn-secondary:hover{
  background:#fff8df!important;
  color:var(--ap5-green-2)!important;
  border-color:var(--ap5-gold)!important;
}
body.ap5-app-body .ap-primary-action{
  background:linear-gradient(180deg,#b9a31c,#9e8800)!important;
  border-color:#9a8300!important;
}
body.ap5-app-body input:not([type="checkbox"]):not([type="radio"]),
body.ap5-app-body select,
body.ap5-app-body textarea{
  border-color:var(--ap5-border-strong)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--ap5-text)!important;
  font-family:var(--ap5-font)!important;
}
body.ap5-app-body input:not([type="checkbox"]):not([type="radio"]):focus,
body.ap5-app-body select:focus,
body.ap5-app-body textarea:focus{
  border-color:#9faf9d!important;
  box-shadow:0 0 0 4px rgba(41,64,44,.08)!important;
}
body.ap5-app-body a{color:#356c55;}
body.ap5-app-body a:hover{color:#244d3d;}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
