.clienta-pwa-install{
  position:fixed;
  z-index:1200;
  inset-inline:16px;
  bottom:calc(82px + env(safe-area-inset-bottom));
  max-width:560px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:20px;
  background:rgba(15,23,42,.96);
  color:#f8fafc;
  box-shadow:0 20px 55px rgba(2,6,23,.3);
  backdrop-filter:blur(18px);
  transform:translateY(24px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.clienta-pwa-install.is-visible{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.clienta-pwa-install__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  overflow:hidden;
  flex:0 0 auto;
  border-radius:14px;
  background:#fff;
}
.clienta-pwa-install__icon img{width:100%;height:100%;object-fit:cover}
.clienta-pwa-install__content{display:grid;gap:3px;min-width:0}
.clienta-pwa-install__content strong{font-size:.86rem;line-height:1.7}
.clienta-pwa-install__content span{color:#cbd5e1;font-size:.72rem;line-height:1.75}
.clienta-pwa-install__actions{display:flex;align-items:center;gap:7px}
.clienta-pwa-install__primary,
.clienta-pwa-install__close{
  border:0;
  font:inherit;
  cursor:pointer;
}
.clienta-pwa-install__primary{
  min-height:38px;
  padding:7px 14px;
  border-radius:11px;
  background:#2563eb;
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
}
.clienta-pwa-install__primary:disabled{opacity:.55;cursor:wait}
.clienta-pwa-install__close{
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#cbd5e1;
  font-size:1.25rem;
  line-height:1;
}
.clienta-pwa-install.is-update .clienta-pwa-install__primary{background:#16a34a}
@media (min-width:768px){
  .clienta-pwa-install{inset-inline:auto 24px;bottom:24px;margin:0;width:min(560px,calc(100vw - 48px))}
}
@media (max-width:480px){
  .clienta-pwa-install{grid-template-columns:auto minmax(0,1fr);gap:10px}
  .clienta-pwa-install__actions{grid-column:1/-1;justify-content:flex-end}
  .clienta-pwa-install__primary{flex:1}
}
@media (prefers-reduced-motion:reduce){
  .clienta-pwa-install{transition:none}
}

/* Mobile bottom navigation: edge-to-edge, safe-area aware, no floating gap. */
.clienta-footer-nav-area{
  height:calc(64px + env(safe-area-inset-bottom))!important;
  padding:0 0 env(safe-area-inset-bottom)!important;
  inset:auto 0 0!important;
  border-radius:0!important;
  box-shadow:0 -10px 30px rgba(2,6,23,.14);
}
.clienta-footer-nav{
  width:100%!important;
  max-width:none!important;
  height:64px!important;
  margin:0!important;
  padding:0 6px!important;
}
.clienta-footer-nav ul{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  gap:2px;
}
.clienta-footer-nav li{
  min-width:0;
  margin:0!important;
  display:flex;
}
.clienta-footer-nav li>a{
  position:relative;
  flex:1;
  min-width:0;
  height:64px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:5px 2px 4px;
  border-radius:13px;
  color:#94a3b8;
  text-decoration:none;
  font-size:.64rem;
  font-weight:650;
  line-height:1.1;
  transition:color .2s ease,background .2s ease,transform .2s ease;
}
.clienta-footer-nav li>a i{
  font-size:1.22rem;
  line-height:1;
}
.clienta-footer-nav li>a span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.clienta-footer-nav li.active>a,
.clienta-footer-nav li>a:hover{
  color:#fff;
  background:rgba(59,130,246,.12);
}
.clienta-footer-nav li.active>a::after{
  content:"";
  position:absolute;
  top:2px;
  width:22px;
  height:3px;
  border-radius:999px;
  background:#3b82f6;
}
html.light-mode .clienta-footer-nav li.active>a,
html.light-mode .clienta-footer-nav li>a:hover{
  color:#0f172a;
  background:rgba(37,99,235,.08);
}
@media (max-width:390px){
  .clienta-footer-nav{padding-inline:2px!important}
  .clienta-footer-nav li>a{font-size:.59rem;padding-inline:0}
  .clienta-footer-nav li>a i{font-size:1.15rem}
}

/* Language chooser in side navigation. */
.clienta-language-menu{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 12px 14px;
}
.clienta-language-option{
  width:100%;
  min-height:54px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid var(--ca-border);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  color:var(--ca-text);
  text-decoration:none;
  text-align:start;
  font:inherit;
}
.clienta-language-option:hover{
  color:var(--ca-text);
  background:rgba(255,255,255,.07);
}
.clienta-language-option.is-active{
  border-color:rgba(59,130,246,.45);
  background:rgba(59,130,246,.12);
}
.clienta-language-option:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.clienta-language-code{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--ca-surface-2);
  color:#cbd5e1;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.03em;
}
.clienta-language-name{
  min-width:0;
  font-size:.75rem;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.clienta-language-option small{
  color:var(--ca-muted);
  font-size:.56rem;
  white-space:nowrap;
}
.clienta-language-option .ti-check{
  color:#60a5fa;
  font-size:.95rem;
}
html.light-mode .clienta-language-option{
  background:rgba(15,23,42,.025);
}
html.light-mode .clienta-language-code{
  color:#334155;
}
@media (max-width:330px){
  .clienta-language-menu{grid-template-columns:1fr}
}