/* DiaEndo family chrome (header/footer/sticky CTA) scoped for sandiendo — generated 2026-09-29 from bonexperts canonical CSS */
header.site, footer.site-fam, .sticky-cta{--ink: #1a1a1a; --lime: #5ec4a7; --lime-deep: #149d79; --line: #e2e8e4; --mist: #f5f7f6; --mist-2: #eaf2ee; --paper: #ffffff; --slate: #828282; --slate-l: #6b7a73; --teal: #149d79; --teal-dark: #0f7a5e; --teal-deep: #0b5544; --warn-bg: #fff8ec; --warn-ink: #7a5a18; --warn-line: #e8d4a8;}
header.site, footer.site-fam, .sticky-cta{--teal: #149d79; --teal-dark: #0f7a5e; --teal-deep: #0b5544; --lime: #5ec4a7; --ink: #1a1a1a; --slate: #828282; --slate-l: #6b7a73; --line: #e2e8e4; --paper: #ffffff; --mist: #f5f7f6; --mist-2: #eaf2ee; --warn-bg: #fff8ec; --warn-line: #e8d4a8; --warn-ink: #7a5a18;}
header.site .btn, .sticky-cta .btn{display: inline-block; border-radius: 9px; padding: 14px 26px; font-size: 15px; font-weight: 600; text-decoration: none; border: 1px solid transparent; transition: background 0.15s, border-color 0.15s;}
header.site .btn-primary, .sticky-cta .btn-primary{background: var(--teal-dark); color: rgb(255, 255, 255);}
header.site .btn-primary:hover, .sticky-cta .btn-primary:hover{background: var(--teal-deep);}
header.site .btn-ghost, .sticky-cta .btn-ghost{background: var(--paper); color: var(--teal-deep); border-color: var(--line);}
header.site .btn-ghost:hover, .sticky-cta .btn-ghost:hover{border-color: var(--teal);}
header.site .btn:focus-visible, .sticky-cta .btn:focus-visible{outline: 3px solid var(--teal); outline-offset: 2px;}
header.site .btn-row, .sticky-cta .btn-row{display: flex; gap: 12px; flex-wrap: wrap;}
header.site{position: sticky; top: 0px; background: var(--paper); border-bottom: 1px solid var(--line); z-index: 50;}
header.site .nav{display: flex; align-items: center; gap: 18px; padding: 22px 28px; max-width: 1120px; margin: 0px auto;}
header.site .logo{display: flex; align-items: center; gap: 9px; text-decoration: none; flex: 0 0 auto;}
header.site .logo img{height: 58px; width: auto; display: block;}
header.site .logo .wordmark{display: flex; flex-direction: column; line-height: 1.15;}
header.site .logo .wordmark b{font-size: 20px; font-weight: 800; color: rgb(23, 138, 109); letter-spacing: -0.3px;}
header.site .logo .wordmark small{font-size: 11.5px; color: var(--slate-l); font-weight: 400; letter-spacing: 0.2px;}
header.site nav.menu{display: flex; gap: 20px; margin-left: auto; align-items: center;}
header.site nav.menu > div{position: relative;}
header.site nav.menu a.top{color: var(--ink); text-decoration: none; font-size: 15px; padding: 8px 2px; white-space: nowrap;}
header.site nav.menu a.top:hover{color: var(--teal-dark);}
header.site nav.menu a.top[aria-current="true"]{color: var(--teal-deep); font-weight: 600; border-bottom: 2px solid var(--teal);}
header.site nav.menu .dd{display: none; position: absolute; top: 100%; left: -10px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 10px; min-width: 250px; box-shadow: rgba(0, 0, 0, 0.07) 0px 10px 30px;}
header.site nav.menu > div:hover .dd, header.site nav.menu > div:focus-within .dd{display: block;}
header.site .dd a{display: block; padding: 9px 12px; border-radius: 8px; text-decoration: none; color: var(--ink); font-size: 14.5px;}
header.site .dd a:hover{background: var(--mist-2); color: var(--teal-deep);}
header.site .nav .btn{padding: 11px 18px; white-space: nowrap; flex: 0 0 auto;}
header.site .hamburger{display: none;}
footer.site-fam .byline{font-size: 13px; color: var(--slate); margin-top: 14px;}
.sticky-cta{display: none;}
footer.site-fam{background: var(--mist); border-top: 1px solid var(--line); padding: 38px 0px; margin-top: 0px;}
footer.site-fam .links{display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 16px;}
footer.site-fam a{font-size: 14px;}
footer.site-fam p{font-size: 12.5px; color: var(--slate); max-width: none; margin-top: 10px;}
footer.site-fam .eco{border-top: 1px solid var(--line); margin-top: 22px; padding-top: 18px; font-size: 13px; color: var(--slate-l);}
footer.site-fam .eco b{color: var(--teal-deep);}
@media (max-width: 900px){header.site nav.menu{display: none;}header.site .hamburger{display: block; margin-left: auto; background: none; border: 1px solid var(--line); border-radius: 9px; padding: 8px 12px; font-size: 15px; cursor: pointer;}header.site nav.menu.open{display: flex; position: absolute; top: 100%; left: 0px; right: 0px; background: var(--paper); flex-direction: column; align-items: stretch; padding: 16px 28px; border-bottom: 1px solid var(--line); gap: 6px; max-height: calc(-80px + 100vh); overflow-y: auto;}header.site nav.menu.open .dd{display: block; position: static; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; box-shadow: none; padding: 0px 0px 6px 14px; min-width: 0px;}header.site nav.menu.open .btn-primary{order: -1; margin: 0px 0px 10px; text-align: center;}}
@media (max-width: 560px){.sticky-cta{display: flex; position: fixed; bottom: 0px; left: 0px; right: 0px; z-index: 60; background: var(--paper); border-top: 1px solid var(--line); padding: 10px 14px; gap: 10px;}.sticky-cta a{flex: 1 1 0%; text-align: center; padding: 12px 10px; font-size: 14.5px;}}
@media print{header.site, .sticky-cta, footer.site-fam .links{display: none;}}
header.site, footer.site-fam, .sticky-cta{--ink: #22201c; --slate: #8a8478; --slate-l: #6f695e; --clay: #c06a43; --clay-soft: #f4e6da; --line: #e8ded0; --paper: #fffdfa; --mist: #f6f2ea; --mist-2: #efe6d8; --serif: "Fraunces",Georgia,"Times New Roman",serif; --sans: "Figtree","Open Sans",Helvetica,Arial,sans-serif; --shadow-sm: 0 1px 2px rgba(40,30,15,.05); --shadow: 0 2px 6px rgba(40,30,15,.04),0 14px 30px -18px rgba(40,30,15,.18); --shadow-lift: 0 4px 10px rgba(40,30,15,.06),0 22px 46px -20px rgba(40,30,15,.24); --ease-out: cubic-bezier(0.23,1,0.32,1);}
header.site .btn, .sticky-cta .btn{transition: background .18s var(--ease-out),border-color .18s var(--ease-out),box-shadow .2s var(--ease-out),transform .16s var(--ease-out);}
header.site .btn-primary, .sticky-cta .btn-primary{box-shadow: rgba(15, 122, 94, 0.55) 0px 6px 18px -8px;}
header.site .btn-primary:hover, .sticky-cta .btn-primary:hover{transform: translateY(-1px); box-shadow: rgba(11, 85, 68, 0.6) 0px 10px 24px -8px;}
header.site .btn-ghost, .sticky-cta .btn-ghost{box-shadow: var(--shadow-sm);}
header.site .btn:active, .sticky-cta .btn:active{transform: translateY(0px) scale(0.97);}
header.site .logo img{mix-blend-mode: multiply;}
@media (prefers-reduced-motion: reduce){header.site .btn, .sticky-cta .btn, header.site .btn:active, .sticky-cta .btn:active, header.site .btn-primary:hover, .sticky-cta .btn-primary:hover{transform: none;}}

/* === sandiendo mobile overflow guard (2026-09-29) — page-body grids/tables that did not collapse on phones === */
.data-grid > *, .auth-grid > * { min-width: 0; }
.panel { max-width: 100%; }
section img, section svg { max-width: 100%; }
@media (max-width: 900px) { .data-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .auth-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .compare { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .compare th, .compare td { padding: 12px; }
  main table:not(.compare table), section table:not(.compare table) { display: block; max-width: 100%; overflow-x: auto; }
}