/* Ortak mobil ve PWA katmanı. Sayfa içi stillerin üzerine zorla yazmadan, taşmaları sınırlar. */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, svg { max-width: 100%; }
.mobile-bottom-nav { display: none; }
.mobile-more-panel { display: none; }
.pwa-install-prompt {
  position: fixed;
  top: 76px;
  left: 12px;
  right: 12px;
  z-index: 10050;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(57,213,255,.45);
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(8,30,50,.98), rgba(5,16,29,.98));
  box-shadow: 0 14px 36px rgba(0,0,0,.45), 0 0 24px rgba(57,213,255,.16);
  color: #eaf8ff;
}
.pwa-install-prompt[hidden] { display: none; }
.pwa-install-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; background: linear-gradient(135deg,#0878e8,#0aa7d9); color: #fff; font-size: 20px; font-weight: 900; }
.pwa-install-copy { min-width: 0; flex: 1; display: grid; gap: 1px; }
.pwa-install-copy strong { font-size: 12px; color: #fff; }
.pwa-install-copy span { overflow: hidden; color: #a6c2d5; font-size: 11px; line-height: 1.35; }
.pwa-install-action { min-height: 32px; padding: 0 11px; border: 1px solid #39d5ff; border-radius: 8px; background: #0a78d4; color: #fff; font: 800 11px/1 Inter, system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.pwa-install-dismiss { width: 28px; height: 28px; flex: 0 0 28px; padding: 0; border: 1px solid rgba(143,168,188,.35); border-radius: 50%; background: transparent; color: #a7c0d2; font-size: 19px; line-height: 1; cursor: pointer; }
.pwa-install-dismiss:hover { color: #fff; border-color: #39d5ff; }
@media (min-width: 761px) { .pwa-install-prompt { display: none !important; } }
@media (max-width: 760px) {
  body { min-width: 0; }
  body:not(.auth-layout) { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  main, .container, .shell, .wrap, .content, .page, .tools-wrap { max-width: 100%; }
  input, select, textarea, button { max-width: 100%; font-size: 16px; }
  table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  pre, code { max-width: 100%; overflow-x: auto; }
  .pwa-install-prompt { top: 74px; }
  .mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10020;
    display: grid;
    grid-template-columns: repeat(var(--mobile-menu-count, 5), minmax(0, 1fr));
    min-height: 68px;
    padding: 6px 5px calc(6px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(119,190,255,.15);
    background: rgba(6,12,20,.96);
    box-shadow: 0 -12px 30px rgba(0,0,0,.36);
    backdrop-filter: blur(18px);
  }
  .mobile-more-panel {
    position: fixed;
    right: 12px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    z-index: 10021;
    display: block;
    width: min(320px, calc(100vw - 24px));
    max-height: min(62vh, 430px);
    overflow: auto;
    padding: 12px;
    border: 1px solid rgba(57,213,255,.35);
    border-radius: 16px;
    background: rgba(6,16,28,.98);
    box-shadow: 0 18px 42px rgba(0,0,0,.42), 0 0 24px rgba(57,213,255,.12);
    backdrop-filter: blur(18px);
    color: #edf5ff;
    animation: mobileMorePanelIn .18s ease-out;
  }
  .mobile-more-panel[hidden] { display: none !important; }
  .mobile-more-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 3px 10px; border-bottom: 1px solid rgba(119,190,255,.14); }
  .mobile-more-panel-head strong { font-size: 14px; letter-spacing: .02em; }
  .mobile-more-close { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid rgba(119,190,255,.28); border-radius: 9px; background: rgba(119,190,255,.08); color: #b9d3e7; font-size: 20px; line-height: 1; cursor: pointer; }
  .mobile-more-close:hover, .mobile-more-close:focus-visible { color: #fff; border-color: #39d5ff; outline: none; }
  .mobile-more-links { display: grid; gap: 5px; padding-top: 9px; }
  .mobile-more-link { display: flex; align-items: center; min-height: 42px; padding: 9px 11px; border: 1px solid transparent; border-radius: 10px; color: #c7d9e8; font-size: 13px; font-weight: 750; text-decoration: none; }
  .mobile-more-link:hover, .mobile-more-link:focus-visible, .mobile-more-link.is-active { border-color: rgba(57,213,255,.35); background: rgba(57,213,255,.11); color: #fff; outline: none; }
  .mobile-more-empty { padding: 10px 5px; color: #8fa8bb; font-size: 12px; line-height: 1.45; }
  body.has-gmk-motivation-bar .mobile-more-panel { bottom: calc(150px + env(safe-area-inset-bottom)); }
  .mobile-bottom-item {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    min-width: 0;
    padding: 3px 1px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8994a5;
    font: 700 10px/1.15 Inter, "Segoe UI", system-ui, sans-serif;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-bottom-item:hover, .mobile-bottom-item:focus-visible { color: #dce9f8; background: rgba(57,213,255,.08); outline: none; }
  .mobile-bottom-item.is-active { color: #ff4662; }
  .mobile-bottom-item.is-active::before { content: ""; position: absolute; top: -6px; left: 24%; right: 24%; height: 2px; border-radius: 999px; background: #ff4662; box-shadow: 0 0 10px rgba(255,70,98,.55); }
  .mobile-bottom-icon { display: grid; place-items: center; min-height: 22px; color: currentColor; }
  .mobile-bottom-icon svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-bottom-text-icon { font-size: 20px; line-height: 22px; }
  .mobile-bottom-item:nth-child(2) .mobile-bottom-icon svg { width: 23px; height: 23px; }
  .mobile-bottom-item:nth-child(3) .mobile-bottom-icon svg { width: 23px; height: 23px; }
  .mobile-bottom-item:nth-child(4) .mobile-bottom-icon svg { width: 21px; height: 21px; }
  .mobile-bottom-item:nth-child(5) .mobile-bottom-icon svg { width: 21px; height: 21px; }
  .mobile-nav-dot { position: absolute; top: 7px; right: 27%; width: 7px; height: 7px; border: 2px solid #08101a; border-radius: 50%; background: #ff3658; }
  body.auth-layout .mobile-bottom-nav { display: none; }
  body.has-gmk-motivation-bar .mobile-bottom-nav { z-index: 10020; }
  body.has-gmk-motivation-bar .gmk-motivation-bar { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
@keyframes mobileMorePanelIn { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 420px) {
  .pwa-install-prompt { left: 8px; right: 8px; gap: 7px; padding: 9px; }
  .pwa-install-copy strong { font-size: 11px; }
  .pwa-install-copy span { font-size: 10px; }
  .pwa-install-action { padding-inline: 9px; }
}

/* PWA bildirim izin kartı */
.pwa-notification-prompt{position:fixed;top:132px;left:12px;right:12px;z-index:10049;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(85,220,181,.4);border-radius:14px;background:linear-gradient(120deg,rgba(8,35,45,.98),rgba(5,16,29,.98));box-shadow:0 14px 36px rgba(0,0,0,.45),0 0 24px rgba(85,220,181,.12);color:#eaf8ff}.pwa-notification-prompt[hidden]{display:none}.pwa-notification-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,#145c69,#159a81);font-size:17px}.pwa-notification-copy{min-width:0;flex:1;display:grid;gap:1px}.pwa-notification-copy strong{font-size:12px;color:#fff}.pwa-notification-copy span{overflow:hidden;color:#a6c2d5;font-size:11px;line-height:1.35}.pwa-notification-action{min-height:32px;padding:0 11px;border:1px solid #55dcb5;border-radius:8px;background:#126f62;color:#fff;font:800 11px/1 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}.pwa-notification-action:disabled{opacity:.6;cursor:wait}.pwa-notification-dismiss{width:28px;height:28px;flex:0 0 28px;padding:0;border:1px solid rgba(143,168,188,.35);border-radius:50%;background:transparent;color:#a7c0d2;font-size:19px;line-height:1;cursor:pointer}.pwa-notification-dismiss:hover{color:#fff;border-color:#55dcb5}@media(min-width:761px){.pwa-notification-prompt{display:none!important}}@media(max-width:420px){.pwa-notification-prompt{left:8px;right:8px;gap:7px;padding:9px}.pwa-notification-copy strong{font-size:11px}.pwa-notification-copy span{font-size:10px}.pwa-notification-action{padding-inline:9px}}