
/* GESIT V19 proper mobile UX layer */
:root {
  --g19-bg: #f5fbfa;
  --g19-surface: rgba(255,255,255,.94);
  --g19-border: rgba(15,143,134,.16);
  --g19-text: #152033;
  --g19-muted: #64748b;
  --g19-brand: #0f8f86;
  --g19-brand2: #14b8a6;
  --g19-shadow: 0 18px 48px rgba(15,23,42,.12);
}
@media (max-width: 768px) {
  body.gesit-mobile-shell .content {
    padding-bottom: 128px !important;
    background: linear-gradient(180deg,#eefaf8 0,#fbfeff 46%,#ffffff 100%) !important;
  }
  body.gesit-mobile-shell .page-header {
    gap: 10px !important;
    align-items: stretch !important;
  }
  body.gesit-mobile-shell .page-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }
  body.gesit-mobile-shell .page-actions .btn {
    min-height: 54px !important;
    border-radius: 17px !important;
    justify-content: center !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
  }
  body.gesit-mobile-shell .page-title {
    font-size: 25px !important;
    line-height: 1.1 !important;
  }
  body.gesit-mobile-shell .page-subtitle {
    font-size: 14px !important;
    color: var(--g19-muted) !important;
  }
  #gesitRoleMobileHub {
    border-radius: 24px !important;
    background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(235,252,248,.94)) !important;
    border: 1px solid var(--g19-border) !important;
    box-shadow: 0 18px 48px rgba(15,23,42,.08) !important;
  }
  #gesitRoleMobileHub .gesit-role-action,
  #gesitRoleMobileHub button {
    border-radius: 18px !important;
  }
  .pd-pulse, .pd-kpi-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .pd-pulse > *, .pd-kpi-grid > * {
    min-width: 0 !important;
    border-radius: 18px !important;
  }
}
.gesit-public-link-panel {
  position: fixed;
  inset: 0;
  z-index: 2147483400;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease;
}
.gesit-public-link-panel.is-open {
  pointer-events: auto;
  opacity: 1;
}
.gpl-scrim {
  position: absolute;
  inset: 0;
  background: rgba(15,23,42,.28);
  backdrop-filter: blur(3px);
}
.gpl-card {
  position: absolute;
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  max-width: 560px;
  margin: 0 auto;
  max-height: min(78vh, 620px);
  overflow: auto;
  background: var(--g19-surface);
  border: 1px solid var(--g19-border);
  border-radius: 28px;
  box-shadow: var(--g19-shadow);
  transform: translateY(24px);
  transition: transform .2s ease;
}
.gesit-public-link-panel.is-open .gpl-card { transform: translateY(0); }
.gpl-handle { width: 48px; height: 5px; border-radius: 999px; background: #cbd5e1; margin: 10px auto 4px; }
.gpl-head {
  display: flex; gap: 12px; justify-content: space-between; align-items: flex-start;
  padding: 12px 18px 14px;
  border-bottom: 1px solid rgba(15,143,134,.12);
}
.gpl-kicker { color: var(--g19-brand); font-weight: 900; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }
.gpl-head h3 { margin: 2px 0 4px; font-size: 19px; color: var(--g19-text); }
.gpl-head p { margin: 0; color: var(--g19-muted); font-size: 13px; line-height: 1.4; }
.gpl-close { border: 0; background: #eff6f5; width: 40px; height: 40px; border-radius: 14px; font-size: 24px; color: #334155; }
.gpl-list { padding: 12px; display: grid; gap: 10px; }
.gpl-item { display: grid; grid-template-columns: 42px 1fr; gap: 10px; padding: 12px; border: 1px solid rgba(15,143,134,.14); border-radius: 20px; background: #fff; }
.gpl-ico { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 15px; background: #ecfdf9; }
.gpl-main strong { display: block; color: var(--g19-text); font-size: 14px; }
.gpl-main span { display: block; color: var(--g19-muted); font-size: 12.5px; line-height: 1.35; margin: 2px 0 8px; }
.gpl-main input { width: 100%; border: 1px solid #dbe7ef; border-radius: 12px; padding: 9px 10px; font-size: 12px; color: #475569; background: #f8fafc; }
.gpl-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gpl-actions a, .gpl-actions button { text-align: center; border: 0; border-radius: 14px; padding: 11px 10px; font-weight: 800; text-decoration: none; }
.gpl-open { color: #fff; background: linear-gradient(135deg,var(--g19-brand2),var(--g19-brand)); }
.gpl-actions button { color: var(--g19-brand); background: #eefcf9; }
@media (min-width: 769px) {
  .gpl-card { top: 50%; bottom: auto; transform: translateY(-45%); }
  .gesit-public-link-panel.is-open .gpl-card { transform: translateY(-50%); }
}
