/**
 * O3D merkezi tasarım jetonları + hafif bileşenler
 * Sayfa stillerini ezmez; body.o3d-app altında güvenli yardımcılar sağlar.
 * v=20260721a
 */
:root {
  --o3d-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  --o3d-bg: #f4f6fb;
  --o3d-panel: #ffffff;
  --o3d-edge: #e9eef8;
  --o3d-ink: #1e2a44;
  --o3d-muted: #5a6785;
  --o3d-accent: #2563eb;
  --o3d-accent-2: #0ea5e9;
  --o3d-danger: #b91c1c;
  --o3d-radius: 14px;
  --o3d-shadow: 0 8px 20px rgba(8, 28, 61, 0.06);
  --o3d-touch-min: 44px;
  --o3d-page-max: 1200px;
  --o3d-gap: 12px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.o3d-app {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

body.o3d-app .o3d-page {
  width: 100%;
  max-width: var(--o3d-page-max);
  margin: 0 auto;
  padding: var(--o3d-gap);
  box-sizing: border-box;
}

/* Ortak dokunma / odak — yalnızca işaretli etkileşimler */
body.o3d-app .o3d-touch,
body.o3d-app .pager-btn,
body.o3d-app .btn,
body.o3d-app .okul-header,
body.o3d-app .panelim-back,
body.o3d-app .panelim-module,
body.o3d-app .pe-select,
body.o3d-app .pe-search,
body.o3d-app .pe-clear {
  min-height: var(--o3d-touch-min);
}

body.o3d-app :focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.45);
  outline-offset: 2px;
}

/* Login sayfası: jetonları karanlık temaya müdahale etmez; sadece güvenli yardımcılar */
body.o3d-login {
  overflow-x: hidden;
}
body.o3d-login form button[type="submit"],
body.o3d-login form input[type="submit"],
body.o3d-login .btn-login {
  min-height: var(--o3d-touch-min);
}
