/* Aidatla.com ? Mobile-first design system */
/* fonts loaded via <link> in layout */
:root {
  --bg: #f7f7f8;
  --bg-elevated: #ffffff;
  --bg-soft: #f0f1f3;
  --ink: #1f2937;
  --ink-soft: #4b5563;
  --ink-muted: #4b5563;
  --line: rgba(31, 41, 55, 0.08);
  --line-strong: rgba(31, 41, 55, 0.14);
  --brand: #f97316;
  --brand-dark: #ea580c;
  --brand-soft: #fff0e6;
  --accent: #1f2937;
  --accent-soft: #eef0f3;
  --success: #059669;
  --success-soft: #d1fae5;
  --warning: #d97706;
  --warning-soft: #fef3c7;
  --danger: #dc2626;
  --danger-soft: #fee2e2;
  --info: #0284c7;
  --info-soft: #e0f2fe;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 22px;
  --shadow: 0 8px 30px rgba(31, 41, 55, 0.06);
  --shadow-lg: 0 20px 50px rgba(31, 41, 55, 0.1);
  --nav-h: 48px;
  --bottom-nav-h: 64px;
  --font: 'Sora', system-ui, sans-serif;
  --display: 'Outfit', 'Sora', sans-serif;
  --container: 1120px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

[hidden] { display: none !important; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }
body {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
  background:
    radial-gradient(ellipse 70% 40% at 10% -10%, rgba(249,115,22,.12), transparent 50%),
    radial-gradient(ellipse 50% 30% at 100% 0%, rgba(31,41,55,.06), transparent 45%),
    var(--bg);
  min-height: 100dvh;
  overflow-x: clip;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
ul, ol { list-style: none; }

.container { width: min(100% - 1.5rem, var(--container)); margin-inline: auto; }

.display { font-family: var(--display); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
h1, h2, h3, h4 { font-family: var(--display); letter-spacing: -0.02em; line-height: 1.2; }
h1 { font-size: clamp(1.75rem, 5vw, 3.25rem); }
h2 { font-size: clamp(1.4rem, 3.5vw, 2.1rem); }
h3 { font-size: 1.15rem; }
.lead { color: var(--ink-soft); font-size: 0.98rem; max-width: 36rem; }
.muted { color: var(--ink-muted); font-size: 0.9rem; }
.tiny { font-size: 0.78rem; color: var(--ink-muted); }
.eyebrow {
  display: inline-block;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand);
  margin-bottom: .5rem;
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .65rem 1.15rem; border-radius: 999px; border: 1.5px solid transparent;
  font-weight: 600; font-size: .9rem; cursor: pointer;
  transition: transform .2s var(--ease), background .2s, color .2s, box-shadow .2s;
  white-space: nowrap;
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: var(--brand); color: #fff; box-shadow: 0 6px 18px rgba(249,115,22,.28); }
.btn-primary:hover { background: var(--brand-dark); color: #fff; }
.btn-dark { background: var(--accent); color: #fff; }
.btn-ghost { background: transparent; border-color: var(--line-strong); }
.btn-ghost:hover { background: var(--bg-soft); }
.btn-soft { background: var(--brand-soft); color: var(--brand-dark); }
.btn-sm { padding: .4rem .85rem; font-size: .8rem; }
.btn-block { width: 100%; }
.btn-google {
  background: #fff; border-color: var(--line-strong); gap: .55rem;
}
.btn-google img { width: 18px; height: 18px; }
.btn-apple {
  background: #000; color: #fff; border-color: #000; gap: .55rem;
}
.btn-apple:hover { background: #111; color: #fff; border-color: #111; }
.auth-social-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin: 0 0 .15rem;
}
.auth-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  width: 100%;
  min-width: 0;
  padding: .7rem .55rem;
  font-size: .9rem;
  font-weight: 600;
  white-space: nowrap;
}
.auth-social-btn svg { flex-shrink: 0; }
html[data-aidatla-app="1"] .auth-social-row {
  margin-bottom: .25rem;
}

.form-group { margin-bottom: 1rem; min-width: 0; max-width: 100%; }
.form-group label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: .35rem; color: var(--ink-soft); }
.form-control, .form-select, textarea.form-control {
  width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
  padding: .7rem .9rem; border-radius: 12px;
  border: 1.5px solid var(--line-strong); background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.form-control:focus, .form-select:focus, textarea.form-control:focus {
  outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(249,115,22,.15);
}
/* Native date/time inputs: large intrinsic min-width overflows cards/modals on mobile */
input.form-control[type="date"],
input.form-control[type="datetime-local"],
input.form-control[type="month"],
input.form-control[type="week"],
input.form-control[type="time"],
input[type="date"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control,
input[type="time"].form-control {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  appearance: none;
  -webkit-appearance: none;
}
input[type="date"]::-webkit-datetime-edit,
input[type="datetime-local"]::-webkit-datetime-edit,
input[type="month"]::-webkit-datetime-edit,
input[type="time"]::-webkit-datetime-edit {
  min-width: 0;
  padding: 0;
}
input[type="date"]::-webkit-date-and-time-value,
input[type="datetime-local"]::-webkit-date-and-time-value {
  text-align: left;
  min-width: 0;
}
.form-row { display: grid; gap: .85rem; }
.form-row > * { min-width: 0; max-width: 100%; }
@media (min-width: 640px) {
  .form-row-2 { grid-template-columns: 1fr 1fr; }
  .form-row-3 { grid-template-columns: 1fr 1fr 1fr; }
  .form-row-2 > .form-span-2 { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
  .form-row-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 640px) and (max-width: 899px) {
  .form-row-4 { grid-template-columns: 1fr 1fr; }
}

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(247,247,248,.85); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line); height: var(--nav-h);
}
html[data-aidatla-app="1"] .site-header {
  top: max(env(safe-area-inset-top, 0px), var(--app-safe-top, 0px));
  height: var(--nav-h);
  padding-top: 0;
}
.site-nav {
  height: var(--nav-h); display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
html[data-aidatla-app="1"] .site-nav {
  padding-left: max(.75rem, env(safe-area-inset-left, 0px));
  padding-right: max(.75rem, env(safe-area-inset-right, 0px));
}
.brand { display: flex; align-items: center; gap: .65rem; }
.brand-logo { height: 36px; width: auto; display: block; }
.brand-text {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--text, #1f2937);
  letter-spacing: .01em;
}
.site-header .brand-logo { height: 36px; }
.site-footer .brand-logo { height: 64px; }
.auth-card .brand-logo { height: 88px; margin-inline: auto; }
.brand-icon { width: 48px; height: 48px; border-radius: 12px; }
.nav-actions { display: flex; align-items: center; gap: .5rem; }

/* Logodaki orijinal yaz? tipi (wordmark g?rseli) */
.brand-mark {
  display: inline-block;
  width: auto;
  height: 1.15em;
  max-width: 100%;
  vertical-align: -0.18em;
  object-fit: contain;
  object-position: left center;
}
.brand-mark-nav { height: 1.55rem; vertical-align: middle; }
.brand-mark-footer { height: 2.1rem; display: block; vertical-align: top; }
.brand-mark-hero {
  display: block;
  height: clamp(2.4rem, 6.5vw, 3.5rem);
  width: auto;
  max-width: min(100%, 22rem);
  vertical-align: top;
}
.brand-mark-inline { height: 1.05em; vertical-align: -0.16em; }
.brand-mark-heading { height: 1.05em; }
.brand-mark-tiny { height: .95em; vertical-align: -0.14em; }
.brand-mark-auth {
  display: block;
  height: clamp(2.75rem, 10vw, 3.5rem);
  width: auto;
  max-width: min(100%, 18rem);
  margin-inline: auto;
  vertical-align: top;
}
.auth-brand {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 0 0 .85rem;
  padding: 0;
  line-height: 0;
  min-width: 0;
  min-height: 0;
}
.auth-title {
  text-align: center;
  font-size: 1.4rem;
  margin: 0 0 .25rem;
}
.auth-lead {
  text-align: center;
  margin: 0 0 .85rem;
}
html[data-aidatla-app="1"] .brand-mark-auth {
  display: block;
  width: 88%;
  max-width: 20rem;
  height: auto;
  margin: 0 auto;
  min-width: 0;
  object-fit: contain;
  object-position: center top;
}
html[data-aidatla-app="1"] .auth-brand,
html[data-aidatla-app="1"] .auth-brand-app {
  margin: 0 !important;
  padding: 0 !important;
  gap: 0;
}
html[data-aidatla-app="1"] .auth-back-app {
  margin-bottom: .35rem;
}
html[data-aidatla-app="1"] .auth-title {
  margin: .2rem 0 .15rem !important;
}
html[data-aidatla-app="1"] .auth-lead {
  margin: 0 0 .55rem !important;
}
html[data-aidatla-app="1"] .auth-tabs {
  margin: .55rem 0 .85rem;
}
html[data-aidatla-app="1"] .auth-card {
  padding-top: 1.1rem;
}
.lp-page .footer-links a .brand-mark { height: .95em; }

.hero-cta { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }

/* Landing hero ? tipografik Aidatla + a??klay?c? metin (s?f?rdan) */
.lp-hero {
  --hero-ink: #2a2e35;
  --hero-muted: #3d424a;
  position: relative;
  min-height: min(100svh, 920px);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--hero-ink);
  background: #eceae6;
}
.lp-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.lp-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
  transform: translate3d(0, 0, 0) scale(1.04);
}
.lp-hero-wash {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(236, 234, 230, .97) 0%, rgba(236, 234, 230, .9) 38%, rgba(236, 234, 230, .55) 58%, rgba(236, 234, 230, .12) 78%, transparent 100%),
    linear-gradient(180deg, rgba(236, 234, 230, .2) 0%, transparent 35%, rgba(236, 234, 230, .55) 100%);
}
.lp-hero-frame {
  position: relative;
  z-index: 2;
  /* width verme ? .container hizas?n? ezmesin (header logo ile ayn?) */
  padding: calc(var(--nav-h) + 2.5rem) 0 3.5rem;
}
/* Header .brand ile birebir ayn? sol hiza (.container sol kenar?) */
.lp-hero-stack {
  width: 100%;
  text-align: left;
  margin: 0;
  padding: 0;
}
.lp-hero-brand,
.lp-hero-text {
  max-width: 36rem;
}
.lp-hero-brand {
  margin: 0 0 1.35rem;
  line-height: 1;
}
.lp-hero-text {
  margin: 0 0 .85rem;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--hero-ink);
  max-width: 34rem;
}
.lp-hero-text strong {
  color: var(--hero-ink);
}
.lp-hero-text-soft {
  color: var(--hero-muted);
  margin-bottom: 1.15rem;
}
.lp-hero-points {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.lp-hero-points li {
  position: relative;
  padding-left: 1.1rem;
  font-size: .95rem;
  font-weight: 600;
  color: var(--hero-ink);
  line-height: 1.4;
}
.lp-hero-points li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--brand);
}
.lp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0;
}
.lp-hero-foot {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  margin-top: .25rem;
}
@media (min-width: 900px) {
  .lp-hero-foot {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
  }
  .lp-hero-actions {
    flex: 0 1 auto;
  }
  .lp-store-row-hero {
    flex: 0 0 auto;
    margin-top: 0;
    margin-left: auto;
    justify-content: flex-end;
    width: auto;
  }
}
.lp-hero-btn-main,
.lp-hero-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0 1.2rem;
  border-radius: 10px;
  font-weight: 700;
  font-size: .92rem;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s, transform .2s var(--ease);
}
.lp-hero-btn-main {
  background: var(--brand);
  color: #fff;
}
.lp-hero-btn-main:hover {
  background: var(--brand-dark);
  color: #fff;
  transform: translateY(-1px);
}
.lp-hero-btn-sub {
  background: #fff;
  color: var(--hero-ink);
  border: 1px solid rgba(42, 46, 53, .16);
}
.lp-hero-btn-sub:hover {
  border-color: rgba(42, 46, 53, .35);
  color: var(--hero-ink);
}
.lp-store-row-hero {
  margin-top: 0;
}
.lp-store-row-hero .lp-store-btn {
  background: #2a2e35;
  border-color: transparent;
}
.lp-store-icon-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 5px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
.lp-store-row-hero .lp-store-icon-card {
  background: #fff;
}
.lp-store-icon-card .lp-store-app-icon {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  object-fit: contain;
  object-position: center;
}
.lp-a0,
.lp-a1,
.lp-a2,
.lp-a3,
.lp-a4,
.lp-a5,
.lp-a6 {
  opacity: 0;
  transform: translateY(16px);
  animation: lpRise .7s var(--ease) forwards;
}
.lp-a1 { animation-delay: .08s; }
.lp-a2 { animation-delay: .16s; }
.lp-a3 { animation-delay: .24s; }
.lp-a4 { animation-delay: .32s; }
.lp-a5 { animation-delay: .4s; }
.lp-a6 { animation-delay: .48s; }

@keyframes lpHeroShift {
  from { transform: scale(1.08) translate3d(0, 0, 0); }
  to { transform: scale(1.02) translate3d(-1.5%, 0, 0); }
}
@keyframes lpRise {
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
  .lp-hero {
    min-height: auto;
  }
  .lp-hero-frame {
    padding: calc(var(--nav-h) + 1.75rem) 0 2.75rem;
  }
  .lp-hero-media img {
    object-position: center 25%;
  }
  .lp-hero-wash {
    background:
      linear-gradient(180deg, rgba(236, 234, 230, .55) 0%, rgba(236, 234, 230, .88) 48%, #eceae6 100%),
      linear-gradient(90deg, rgba(236, 234, 230, .95) 0%, rgba(236, 234, 230, .75) 100%);
  }
  .lp-hero-foot {
    gap: .85rem;
  }
  .lp-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
    width: 100%;
  }
  .lp-hero-btn-main,
  .lp-hero-btn-sub {
    width: 100%;
    justify-content: center;
  }
  .lp-store-row-hero {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .lp-store-row-hero .lp-store-btn {
    width: 100%;
    min-width: 0;
  }
}

body:has(.lp-hero) .site-header {
  background: rgba(236, 234, 230, .82);
  border-bottom-color: rgba(42, 46, 53, .06);
}

.section { padding: 3.5rem 0; }
.section-head { margin-bottom: 1.75rem; max-width: 36rem; }
.lp-about-body {
  max-width: 42rem;
  margin: 0 auto;
  line-height: 1.65;
}
.lp-about-body p { margin: 0 0 1rem; }
.lp-about-body p:last-child { margin-bottom: 0; }
.lp-about-body h3 {
  margin: 1.25rem 0 .5rem;
  font-size: 1.1rem;
}
.lp-about-body a {
  color: var(--brand-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lp-feature-list {
  display: grid;
  gap: 1.35rem 2rem;
  border-top: 1px solid var(--line);
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  .lp-feature-list { grid-template-columns: 1fr 1fr; }
}
.lp-feature h3 {
  font-size: 1.05rem;
  margin-bottom: .35rem;
}
.lp-feature p {
  color: var(--ink-muted);
  font-size: .92rem;
  max-width: 34rem;
}
.lp-feature {
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--line);
  animation: fadeUp .7s var(--ease) both;
  animation-delay: var(--d, 0s);
}

.lp-feature-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 640px) {
  .lp-feature-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
  .lp-feature-grid { grid-template-columns: repeat(3, 1fr); gap: 1.15rem; }
}
.lp-feature-card {
  padding: 1.35rem 1.25rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(17, 24, 39, .04);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  animation-delay: var(--d, 0s);
}
.lp-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(249, 115, 22, .12);
  border-color: rgba(249, 115, 22, .35);
}
.lp-feature-icon {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin-bottom: .85rem;
  color: var(--brand-dark);
  background: linear-gradient(145deg, var(--brand-soft), #fff);
  border: 1px solid rgba(249, 115, 22, .2);
}
.lp-feature-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.lp-feature-card h3 {
  margin: 0 0 .4rem;
  font-size: 1.08rem;
}
.lp-feature-card p {
  margin: 0;
  color: var(--ink-muted);
  font-size: .92rem;
  line-height: 1.55;
}
.lp-site {
  background:
    linear-gradient(180deg, #f8fafc 0%, #fff 42%, #fff7ed 100%);
  border-block: 1px solid rgba(148, 163, 184, .18);
}
.lp-kurs {
  background:
    linear-gradient(180deg, #fff7ed 0%, #fff 48%, #fff 100%);
  border-block: 1px solid rgba(249, 115, 22, .12);
}
.lp-area-cta,
.lp-site-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
  margin-top: 1.75rem;
}
.lp-showcase-list {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}
.lp-showcase-list li {
  position: relative;
  padding: .65rem .85rem .65rem 2.2rem;
  border-radius: 12px;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--line);
  font-weight: 600;
  font-size: .95rem;
  animation-delay: var(--d, 0s);
}
.lp-showcase-list li::before {
  content: '';
  position: absolute;
  left: .75rem;
  top: 50%;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  transform: translateY(-50%);
  background: var(--brand);
  box-shadow: 0 0 0 4px rgba(249, 115, 22, .18);
}

/* Store buttons */
.lp-store-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.15rem;
}
.lp-store-btn {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-width: 11.5rem;
  padding: .55rem .9rem;
  border-radius: 12px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(8px);
  transition: transform .25s var(--ease), background .25s var(--ease);
}
.lp-store-btn:hover {
  transform: translateY(-2px);
  background: rgba(0,0,0,.72);
  color: #fff;
}
.lp-store-app-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: contain;
  object-position: center;
}
.lp-store-logo {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.lp-store-btn span {
  display: grid;
  line-height: 1.15;
}
.lp-store-btn small {
  font-size: .65rem;
  opacity: .8;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.lp-store-btn strong {
  font-size: 1rem;
  font-weight: 700;
}
.lp-store-row-light .lp-store-btn {
  background: #111827;
  border-color: transparent;
}
.lp-apps {
  background: linear-gradient(180deg, #fff7ed, #fff);
}
.lp-apps-inner {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto;
}
.lp-apps-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp-apps-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 1rem;
  padding: 8px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(249,115,22,.25);
}
.lp-apps-icon {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  object-fit: contain;
  object-position: center;
}
.lp-apps-copy .lp-store-row {
  justify-content: center;
}

/* Flow demo */
.lp-flow { background: #fff; }
.lp-flow-stage {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 900px) {
  .lp-flow-stage { grid-template-columns: 1.15fr .85fr; gap: 2.5rem; }
}
.lp-flow-screen {
  border-radius: 20px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #fff, #f8fafc);
  box-shadow: 0 20px 50px rgba(17,24,39,.08);
  overflow: hidden;
}
.lp-flow-bar {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--line);
  background: #f3f4f6;
}
.lp-flow-bar span {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #d1d5db;
}
.lp-flow-bar span:nth-child(1) { background: #f87171; }
.lp-flow-bar span:nth-child(2) { background: #fbbf24; }
.lp-flow-bar span:nth-child(3) { background: #34d399; }
.lp-flow-bar em {
  margin-left: .5rem;
  font-style: normal;
  font-size: .82rem;
  color: var(--ink-muted);
  font-weight: 600;
}
.lp-flow-body {
  position: relative;
  min-height: 220px;
  padding: 1.15rem;
}
.lp-flow-step {
  position: absolute;
  inset: 1.15rem;
  opacity: 0;
  transform: translateY(12px) scale(.98);
  pointer-events: none;
  transition: opacity .45s var(--ease), transform .45s var(--ease);
}
.lp-flow-step.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.lp-flow-chip {
  display: inline-flex;
  margin-bottom: .85rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-size: .78rem;
  font-weight: 700;
}
.lp-flow-rows { display: grid; gap: .55rem; }
.lp-flow-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem .85rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line);
}
.lp-flow-row b { font-size: .92rem; }
.lp-flow-row i { font-style: normal; color: var(--ink-muted); font-size: .82rem; }
.lp-flow-pulse {
  position: relative;
  border-color: rgba(249,115,22,.45);
}
.lp-flow-pulse::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  border: 2px solid rgba(249,115,22,.35);
  opacity: .55;
  pointer-events: none;
  animation: lpPulse 1.6s ease-in-out infinite;
}
@keyframes lpPulse {
  0%, 100% { transform: scale(1); opacity: .55; }
  50% { transform: scale(1.03); opacity: .15; }
}
.lp-pill {
  font-size: .72rem;
  font-weight: 700;
  padding: .2rem .5rem;
  border-radius: 999px;
}
.lp-pill.ok { background: var(--success-soft); color: var(--success); }
.lp-pill.miss { background: var(--danger-soft); color: var(--danger); }
.lp-flow-bubble {
  margin-bottom: .75rem;
  padding: .85rem 1rem;
  border-radius: 14px 14px 14px 4px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
  font-size: .9rem;
  line-height: 1.45;
}
.lp-flow-dots {
  display: flex;
  justify-content: center;
  gap: .45rem;
  padding: 0 1rem 1rem;
}
.lp-flow-dots button {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  border: 0;
  padding: 0;
  background: #d1d5db;
  cursor: pointer;
}
.lp-flow-dots button.is-on {
  width: 1.35rem;
  background: var(--brand);
}
.lp-flow-legend {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .75rem;
}
.lp-flow-legend li {
  padding: .9rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.8);
}
.lp-flow-legend strong {
  display: block;
  margin-bottom: .25rem;
}
.lp-flow-legend span {
  color: var(--ink-muted);
  font-size: .9rem;
  line-height: 1.45;
}

.lp-showcase { background: #fff; }
.lp-showcase-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 900px) {
  .lp-showcase-grid { grid-template-columns: .85fr 1.15fr; gap: 2.5rem; }
}
.lp-showcase-visual {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 1rem;
  align-items: end;
}
@media (max-width: 640px) {
  .lp-showcase-visual {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.lp-shot-panel-wrap,
.lp-shot-phone-wrap {
  margin: 0;
}
.lp-shot-panel {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: var(--shadow-lg);
}
.lp-shot-phone-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: .35rem 0;
}
.lp-shot-phone {
  width: 100%;
  max-width: 220px;
  height: auto;
  display: block;
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(31, 41, 55, .16);
}
@media (min-width: 641px) {
  .lp-shot-phone { max-width: 240px; }
}
@media (max-width: 640px) {
  .lp-shot-phone {
    max-width: 200px;
    margin-inline: auto;
  }
}

.lp-steps {
  display: grid;
  gap: 1.25rem;
  counter-reset: lpstep;
  list-style: none;
}
@media (min-width: 768px) {
  .lp-steps { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
}
.lp-steps li {
  counter-increment: lpstep;
  display: grid;
  gap: .4rem;
  padding-top: .35rem;
  border-top: 2px solid var(--brand);
}
.lp-steps li::before {
  content: counter(lpstep, decimal-leading-zero);
  font-family: var(--display);
  font-weight: 800;
  color: var(--brand);
  font-size: .9rem;
  letter-spacing: .04em;
}
.lp-steps strong {
  font-family: var(--display);
  font-size: 1.05rem;
}
.lp-steps span {
  color: var(--ink-muted);
  font-size: .9rem;
}

.lp-sectors {
  background:
    radial-gradient(ellipse at top right, rgba(249,115,22,.10), transparent 45%),
    linear-gradient(180deg, #fff, #fff7ed 55%, #fff);
}
.lp-sector-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .lp-sector-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .lp-sector-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
}
.lp-sector-card {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .95rem 1rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 24px rgba(17,24,39,.04);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  animation-delay: var(--d, 0s);
}
.lp-sector-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(249,115,22,.12);
  border-color: rgba(249,115,22,.35);
}
.lp-sector-card h3 {
  margin: 0;
  font-size: .95rem;
  line-height: 1.3;
}
.lp-sector-ico {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.lp-sector-ico svg {
  width: 1.15rem;
  height: 1.15rem;
}
.lp-sector-card.tone-orange .lp-sector-ico { background: #fff0e6; color: #ea580c; }
.lp-sector-card.tone-blue .lp-sector-ico { background: #eff6ff; color: #2563eb; }
.lp-sector-card.tone-violet .lp-sector-ico { background: #f5f3ff; color: #7c3aed; }
.lp-sector-card.tone-mint .lp-sector-ico { background: #ecfdf5; color: #059669; }
.lp-sector-card.tone-slate .lp-sector-ico { background: #f1f5f9; color: #475569; }
.lp-sector-card.tone-gold .lp-sector-ico { background: #fffbeb; color: #d97706; }
.lp-sector-card.tone-soft .lp-sector-ico { background: var(--brand-soft); color: var(--brand-dark); }
.lp-sector-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .85rem;
}
.lp-sector-row span {
  font-weight: 600;
  font-size: .9rem;
  color: var(--ink-soft);
  padding-bottom: .15rem;
  border-bottom: 1px solid rgba(249,115,22,.35);
}

/* —— Referanslarımız (kayan şerit) —— */
.lp-refs {
  overflow: hidden;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(249,115,22,.08), transparent 42%),
    linear-gradient(180deg, #fff 0%, #fff7ed 48%, #fff 100%);
  border-block: 1px solid rgba(249, 115, 22, .1);
}
.lp-refs .container {
  margin-bottom: 1.1rem;
}
.lp-refs-viewport {
  position: relative;
  overflow: hidden;
  padding: .35rem .55rem 1.15rem;
}
.lp-refs-viewport.is-marquee {
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.lp-refs-track {
  display: flex;
  width: max-content;
  gap: 0;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.lp-refs-viewport.is-marquee .lp-refs-track {
  /* Kaydırma landing.js / app.js ile (rAF) — CSS keyframe değişkeni güvenilir değil */
  animation: none;
}
.lp-refs-group {
  display: flex;
  gap: 1.1rem;
  padding: 0;
  margin: 0;
  /* Kart aralığı grubun parçası → -50% / px kaydırma tam oturur */
  padding-right: 1.1rem;
  box-sizing: content-box;
  flex: 0 0 auto;
}
.lp-ref-card {
  flex: 0 0 auto;
  width: clamp(290px, 31vw, 360px);
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 14px 32px rgba(17, 24, 39, .07);
  overflow: hidden;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.lp-ref-card:hover {
  transform: translateY(-4px);
  border-color: rgba(249, 115, 22, .35);
  box-shadow: 0 20px 40px rgba(249, 115, 22, .16);
}
.lp-ref-media {
  position: relative;
  height: 148px;
  background:
    linear-gradient(135deg, #1f2937 0%, #374151 48%, #f97316 140%);
}
.lp-ref-media.is-empty {
  background:
    linear-gradient(145deg, #111827 0%, #334155 42%, #ea580c 120%);
}
.lp-ref-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp-ref-media-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(17,24,39,.05) 0%, rgba(17,24,39,.55) 100%);
  pointer-events: none;
}
.lp-ref-logo-wrap {
  position: absolute;
  left: 1rem;
  bottom: -28px;
  z-index: 2;
}
.lp-ref-card::after {
  content: "";
  position: absolute;
  inset: auto -45% -65% -45%;
  height: 60%;
  background: radial-gradient(ellipse at center, rgba(249,115,22,.22), transparent 70%);
  opacity: .28;
  pointer-events: none;
}
.lp-ref-logo {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  object-fit: cover;
  background: #fff;
  border: 3px solid #fff;
  box-shadow: 0 8px 20px rgba(17, 24, 39, .22);
  display: block;
}
.lp-ref-logo-letter {
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.45rem;
  color: var(--brand-dark);
  background: linear-gradient(145deg, var(--brand-soft), #fff);
}
.lp-ref-body {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: 2.15rem 1.15rem 1.15rem;
  flex: 1;
  min-height: 180px;
}
.lp-ref-name {
  margin: 0;
  font-family: var(--display);
  font-size: 1.08rem;
  line-height: 1.25;
  color: var(--accent);
}
.lp-ref-owner {
  margin: 0;
  font-size: .88rem;
  color: var(--ink-muted);
}
.lp-ref-package {
  margin: 0;
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  max-width: 100%;
  padding: .28rem .65rem;
  border-radius: 999px;
  background: rgba(249, 115, 22, .1);
  border: 1px solid rgba(249, 115, 22, .22);
  color: var(--brand-dark);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.25;
}
.lp-ref-tags {
  margin: 0 0 .35rem;
  font-size: .78rem;
  line-height: 1.4;
  color: var(--ink-soft);
}
.lp-ref-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: .55rem 1rem;
  border-radius: 12px;
  background: var(--brand);
  color: #fff;
  font-weight: 650;
  font-size: .9rem;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(249, 115, 22, .25);
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.lp-ref-btn:hover {
  background: var(--brand-dark);
  color: #fff;
  transform: translateY(-1px);
}
@media (prefers-reduced-motion: reduce) {
  .lp-hero-media img,
  .lp-a0, .lp-a1, .lp-a2, .lp-a3, .lp-a4, .lp-a5, .lp-a6,
  .reveal, [data-animate].reveal,
  .lp-flow-pulse::after {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto;
  }
  /* Referans marquee JS ile — reduced-motion’da yavaşlatılır */
}
@media (max-width: 780px) {
  .lp-ref-card {
    width: min(320px, 86vw);
  }
}

.pricing-grid {
  display: grid;
  gap: 1rem;
  align-items: stretch;
  grid-template-columns: 1fr;
}
.lp-pricing-mode {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .28rem;
  margin: 0 auto 1.35rem;
  border-radius: 999px;
  background: rgba(249, 115, 22, .08);
  border: 1px solid rgba(249, 115, 22, .18);
  max-width: 100%;
}
#paketler .section-head + .lp-pricing-mode,
.lp-pricing-mode {
  display: flex;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.lp-pricing-mode-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink-muted);
  font: inherit;
  font-weight: 650;
  font-size: .92rem;
  line-height: 1.2;
  padding: .65rem 1.15rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);
  white-space: nowrap;
}
.lp-pricing-mode-btn:hover {
  color: var(--accent);
}
.lp-pricing-mode-btn.is-active {
  background: #fff;
  color: var(--brand-dark);
  box-shadow: 0 6px 16px rgba(249, 115, 22, .18);
}
.lp-pricing-mode-btn:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
@media (max-width: 520px) {
  .lp-pricing-mode {
    width: 100%;
  }
  .lp-pricing-mode-btn {
    flex: 1 1 0;
    text-align: center;
    padding: .7rem .75rem;
    font-size: .86rem;
  }
}
@media (min-width: 1024px) {
  .pricing-grid {
    grid-template-columns: repeat(var(--pricing-cols, 3), minmax(0, 1fr));
  }
}
.price-card {
  background: #fff; border: 1.5px solid var(--line); border-radius: var(--radius-lg); padding: 1.4rem;
  display: flex; flex-direction: column; gap: .7rem;
  height: 100%;
  min-width: 0;
  content-visibility: auto;
  contain-intrinsic-size: auto 420px;
}
.price-card .price-highlights { flex: 1 1 auto; }
.price-card .price-feats { flex: 1 1 auto; }
.price-card .btn { margin-top: auto; }
.price-card .sub-plan-foot {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.price-card .sub-plan-foot .btn { margin-top: 0; }
.price-card.popular {
  border-color: var(--brand);
  background: linear-gradient(180deg, var(--brand-soft), #fff 40%);
}
.price-desc {
  margin: 0;
  font-size: .88rem;
  line-height: 1.4;
}
.price-highlights {
  list-style: none;
  margin: .1rem 0 .15rem;
  padding: 0;
  display: grid;
  gap: .32rem;
  font-size: .86rem;
  color: var(--ink-soft);
}
.price-highlights li {
  position: relative;
  padding: .15rem 0 .15rem 1.25rem;
  line-height: 1.35;
}
.price-highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .42em;
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: #16a34a;
  box-shadow: 0 0 0 3px #dcfce7;
}
.price-highlights li.is-off {
  color: #94a3b8;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.price-highlights li.is-off::before {
  background: #cbd5e1;
  box-shadow: 0 0 0 3px #f1f5f9;
}

/* Firma abonelik ? landing ile ayn? tek sat?r grid */
#sub-plan-grid.pricing-grid {
  display: grid;
  gap: 1rem;
  justify-content: stretch;
}
#sub-plan-grid .price-card {
  width: auto;
  max-width: none;
  align-items: stretch;
}
#sub-plan-grid .price-card-badge {
  min-height: 1.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sub-plan-grid .price-card h3 {
  text-align: center;
  width: 100%;
  min-height: 2.5rem;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sub-plan-grid .price-card .price-amount,
#sub-plan-grid .price-feat-group-title {
  text-align: center;
  width: 100%;
}
#sub-plan-grid .price-desc {
  text-align: center;
  width: 100%;
  min-height: 2.6em;
  margin: 0;
  line-height: 1.35;
}
#sub-plan-grid .price-feat-blocks {
  width: 100%;
  text-align: left;
  flex: 1 1 auto;
}
#sub-plan-grid .price-feats {
  width: 100%;
}
#sub-plan-grid .price-feats li {
  justify-content: flex-start;
  text-align: left;
  align-items: center;
}
#sub-plan-grid .price-feat-label {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
#sub-plan-grid .price-feat-state {
  margin-left: auto;
  flex: 0 0 2.4rem;
  text-align: right;
}
#sub-plan-grid .sub-plan-foot {
  width: 100%;
  align-items: stretch;
  margin-top: auto;
}
#sub-plan-grid .sub-total {
  justify-content: space-between;
  width: 100%;
}
.sub-purchase-status {
  margin-top: 1.5rem;
}
.sub-purchase-empty {
  padding: 1rem 1.1rem;
}
.price-amount { font-family: var(--display); font-size: 2rem; font-weight: 800; }
.price-amount span { font-size: .9rem; font-weight: 500; color: var(--ink-muted); }
.price-trial {
  display: inline-block;
  margin: 0 0 .65rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-size: .82rem;
  font-weight: 700;
}
.price-after {
  margin: 0 0 .35rem;
  font-size: .88rem;
  color: var(--ink-muted);
}

.lp-cta-inner {
  padding: 2.75rem 1.5rem;
  text-align: center;
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(249,115,22,.16), transparent 60%),
    #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}
.lp-cta-inner h2 { margin-bottom: .4rem; }
.lp-cta-inner > p { color: var(--ink-muted); margin-bottom: .25rem; }
.lp-cta-inner .hero-cta { justify-content: center; }

.site-footer {
  padding: 2.5rem 0 2rem; border-top: 1px solid var(--line); margin-top: 2rem;
}
.footer-grid { display: grid; gap: 1.5rem; }
@media (min-width: 720px) { .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }
.footer-links { display: grid; gap: .4rem; }
.footer-links a:hover { color: var(--brand); }
.footer-bottom {
  margin-top: 1.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  align-items: center;
  justify-content: space-between;
}
.footer-legal-inline { display: flex; flex-wrap: wrap; gap: .85rem; }
.footer-legal-inline a:hover { color: var(--brand); }
.platform-copy { margin: 0; color: var(--ink-muted); }
.platform-copy-group {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  cursor: pointer;
}
.platform-copy-group:hover {
  color: var(--ink-soft);
  text-decoration: none;
}

.legal-page { padding: 2.5rem 0 3.5rem; }
.legal-wrap { max-width: 760px; }
.legal-head { margin-bottom: 1.75rem; }
.legal-head h1 { margin-bottom: .4rem; }
.legal-body { display: grid; gap: 1rem; color: var(--ink-soft); font-size: .95rem; }
.legal-body h2 {
  margin-top: 1.1rem;
  font-size: 1.15rem;
  color: var(--ink);
}
.legal-body ul {
  display: grid;
  gap: .4rem;
  padding-left: 1.1rem;
  list-style: disc;
}
.legal-body a { color: var(--brand-dark); text-decoration: underline; text-underline-offset: 2px; }
.legal-note {
  margin-top: 1.25rem;
  font-size: .85rem;
  color: var(--ink-muted);
}

.badge {
  display: inline-flex; align-items: center; padding: .2rem .55rem; border-radius: 999px;
  font-size: .72rem; font-weight: 700;
}
.badge-success { background: var(--success-soft); color: var(--success); }
.badge-warn { background: var(--warning-soft); color: var(--warning); }
.badge-danger { background: var(--danger-soft); color: var(--danger); }
.badge-info { background: var(--info-soft); color: var(--info); }

/* ??renci / veli listesi: pasif sat?r */
table.data tbody tr.is-student-passive td,
table.data tbody tr.is-parent-passive td {
  background: rgba(220, 38, 38, 0.07);
}
table.data tbody tr.is-student-passive:hover td,
table.data tbody tr.is-student-passive:focus-within td,
table.data tbody tr.is-parent-passive:hover td,
table.data tbody tr.is-parent-passive:focus-within td {
  background: rgba(220, 38, 38, 0.12);
}
table.data tbody tr.is-student-passive,
table.data tbody tr.is-parent-passive {
  box-shadow: inset 3px 0 0 var(--danger);
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeScale {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.reveal { animation: fadeUp .7s var(--ease) both; }
.reveal-delay-1 { animation-delay: .1s; }
.reveal-delay-2 { animation-delay: .2s; }
.reveal-delay-3 { animation-delay: .3s; }
[data-animate].reveal {
  animation-name: fadeScale;
  animation-delay: var(--d, 0s);
}

/* Auth */
.auth-wrap {
  min-height: 100dvh; display: grid; place-items: center; padding: 1.5rem;
}
.auth-back {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0 0 1rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink-muted);
  text-decoration: none;
}
.auth-back:hover { color: var(--brand-dark); }
html[data-aidatla-app="1"] .auth-back.auth-back-web-only { display: none; }
.auth-card {
  width: min(100%, 460px); background: #fff; border: 1px solid var(--line);
  border-radius: 22px; padding: 1.5rem; box-shadow: var(--shadow);
}
.auth-card.wide { width: min(100%, 640px); }
.auth-card.wide.has-packages { width: min(100%, 980px); }
.register-package-section { margin: 1.15rem 0; }
.register-package-toggle {
  width: 100%;
  border: 1px dashed var(--line-strong);
  background: var(--bg-soft);
  color: var(--ink);
  border-radius: 12px;
  padding: .75rem .9rem;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}
.register-package-toggle::after {
  content: '?';
  float: right;
  color: var(--ink-muted);
}
.register-package-toggle.is-open::after { content: '?'; }
.register-package-current { margin: .5rem 0 0; }
.register-package-body { margin-top: .85rem; }
.register-package-head { margin-bottom: .85rem; }
.register-package-title {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  font-weight: 700;
}
.register-package-grid {
  margin: 0;
}
.register-price-card {
  cursor: pointer;
  position: relative;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.register-price-card input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.register-price-card:has(input:checked),
.register-price-card.is-selected {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px var(--brand-soft);
}
.register-price-pick {
  display: block;
  margin-top: auto;
  text-align: center;
  font-size: .82rem;
  font-weight: 700;
  color: var(--brand-dark);
  padding-top: .35rem;
}
.register-price-card:not(:has(input:checked)) .register-price-pick {
  color: var(--ink-muted);
}
@media (max-width: 900px) {
  .auth-card.wide.has-packages .register-package-grid {
    grid-template-columns: 1fr;
  }
}
.auth-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin: 1rem 0 1.25rem; }
.auth-tab {
  text-align: center; padding: .55rem .4rem; border-radius: 999px; font-size: .8rem; font-weight: 600;
  border: 1px solid var(--line); background: var(--bg-soft); color: var(--ink-muted);
  display: flex; flex-direction: column; align-items: center; gap: .1rem; line-height: 1.15;
}
.auth-tab-en { display: block; font-size: .62rem; font-weight: 500; opacity: .8; }
.auth-tab.active { background: var(--brand); color: #fff; border-color: var(--brand); }
.auth-lead-en { text-align: center; margin: -.35rem 0 .85rem; }
.auth-divider {
  display: flex; align-items: center; gap: .75rem; margin: 1rem 0; color: var(--ink-muted); font-size: .8rem;
}
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--line-strong); }

/* Panel */
.app-shell {
  min-height: 100dvh;
  padding-bottom: calc(var(--bottom-nav-h) + max(env(safe-area-inset-bottom, 0px), var(--app-safe-bottom, 0px)) + .35rem);
  background:
    radial-gradient(ellipse 80% 40% at 0% 0%, rgba(249,115,22,.12), transparent 50%),
    #f3f4f6;
}
@media (min-width: 960px) {
  .app-shell {
    display: grid;
    grid-template-columns: 260px 1fr;
    padding-bottom: 0;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
  }
  /* Sayfa kaymas? olmas?n; kayd?rma panel-main i?inde */
  body:has(.app-shell) {
    overflow: hidden;
    height: 100%;
  }
}
.panel-sidebar {
  display: none;
  flex-direction: column; gap: .2rem;
  background: linear-gradient(175deg, #111827, #1f2937 55%, #ea580c);
  color: #fff; padding: 1.25rem 1rem;
  height: 100dvh; overflow-y: auto; -webkit-overflow-scrolling: touch;
  position: sticky; top: 0;
  z-index: 5;
}
@media (min-width: 960px) {
  .panel-sidebar {
    display: flex;
    position: relative; /* sticky de?il ? modal overflow ile kaymay? ?nler */
    top: auto;
    height: 100%;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
.panel-sidebar-foot { margin-top: auto; padding-top: 1rem; }
.side-link-profile { padding: .45rem .6rem; }
.panel-brand {
  display: flex;
  justify-content: center;
  margin: 0 0 1.1rem;
  text-decoration: none;
}
.panel-brand-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 14px;
  padding: 0;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  width: auto;
  overflow: hidden;
  line-height: 0;
}
.panel-brand-card-sm {
  padding: .3rem .4rem; border-radius: 12px;
  box-shadow: 0 4px 14px rgba(15,23,42,.08); border: 1px solid var(--line);
  width: auto;
}
.panel-brand-logo {
  display: block;
  width: 96px;
  height: 96px;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}
.panel-brand-card-sm .panel-brand-logo {
  width: 40px;
  height: 40px;
}
.panel-header-brand { display: inline-flex; text-decoration: none; }
.welcome-logo {
  display: block; width: 96px; height: 96px; max-width: 100%; object-fit: contain;
  background: #fff; border-radius: 14px; padding: .35rem;
  box-shadow: 0 4px 14px rgba(15,23,42,.08); border: 1px solid rgba(255,255,255,.35);
}
.side-link {
  display: flex; align-items: center; gap: .55rem; padding: .55rem .7rem; border-radius: 10px;
  color: rgba(255,255,255,.78); font-size: .86rem; font-weight: 500;
}
.side-link:hover, .side-link.active { background: rgba(255,255,255,.12); color: #fff; }
.panel-main {
  padding: 0 1rem 1rem;
  min-width: 0;
}
@media (min-width: 960px) {
  .panel-main {
    height: 100%;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}
.app-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  margin: 0 -1rem 1rem;
  padding: .7rem 1rem;
  background: color-mix(in srgb, var(--bg) 88%, #fff);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
html[data-aidatla-app="1"] .app-header {
  top: 0;
  min-height: var(--nav-h);
  padding-top: max(.1rem, env(safe-area-inset-top, 0px));
  padding-bottom: .25rem;
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
  margin-bottom: 0;
}
@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
  .app-header { background: rgba(247, 247, 248, .94); }
}
@media (min-width: 768px) and (max-width: 959px) {
  .app-header {
    margin: 0 -1.35rem 1rem;
    padding-left: 1.35rem;
    padding-right: 1.35rem;
  }
}
.app-header-left {
  display: flex; align-items: center; gap: .65rem; min-width: 0; flex: 1;
}
.app-header-titles { min-width: 0; }
.app-header-brand {
  flex-shrink: 0; text-decoration: none; display: inline-flex;
}
.app-header-brand .panel-brand-card-sm {
  background: #fff;
}
.panel-brand-logo-header {
  width: 40px !important;
  height: 40px !important;
  max-width: 40px;
  object-fit: contain !important;
}
@media (min-width: 480px) {
  .panel-brand-logo-header {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px;
  }
}
.app-header-company {
  display: none;
  margin: 0 0 .1rem;
  font-weight: 700;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .app-header-brand { display: none; }
  .app-header-company { display: block; }
}
.app-header-actions {
  display: flex; align-items: center; gap: .45rem; flex-shrink: 0;
  margin-left: auto;
}

/* Global panel arama */
.gs-wrap {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.gs-toggle {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 2.45rem; height: 2.45rem; border-radius: 12px; border: 1px solid var(--line);
  background: #fff; color: #334155; cursor: pointer; padding: 0;
  transition: border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.gs-toggle:hover { border-color: #fdba74; color: var(--brand-dark); }
.gs-wrap.is-open .gs-toggle {
  border-color: var(--brand);
  color: var(--brand-dark);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .15);
}
.gs-dropdown {
  display: none;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
  z-index: 85;
  overflow: hidden;
}
.gs-wrap.is-open .gs-dropdown { display: flex; }
.gs-field {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: .7rem .85rem;
  border-bottom: 1px solid #eef2f7;
  background: #fff;
}
.gs-field-ico {
  display: inline-flex;
  color: #94a3b8;
  flex-shrink: 0;
}
.gs-input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: .92rem;
  font-weight: 550;
  color: #0f172a;
  line-height: 1.3;
  padding: .15rem 0;
}
.gs-input::placeholder { color: #94a3b8; font-weight: 500; }
.gs-input::-webkit-search-decoration,
.gs-input::-webkit-search-cancel-button { display: none; }
.gs-clear {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.55rem; height: 1.55rem; border: 0; border-radius: 999px;
  background: #f1f5f9; color: #64748b; cursor: pointer; padding: 0; flex-shrink: 0;
}
.gs-clear:hover { background: #fee2e2; color: #dc2626; }
.gs-clear[hidden] { display: none !important; }
.gs-results {
  max-height: min(58vh, 22rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.gs-hint,
.gs-empty,
.gs-loading {
  display: grid;
  gap: .25rem;
  padding: 1.1rem 1.05rem 1.2rem;
  text-align: center;
}
.gs-hint strong,
.gs-empty strong {
  font-size: .88rem;
  font-weight: 700;
  color: #0f172a;
}
.gs-hint p,
.gs-empty p,
.gs-loading {
  margin: 0;
  font-size: .78rem;
  color: #64748b;
  line-height: 1.4;
}
.gs-group + .gs-group { border-top: 1px solid #eef2f7; }
.gs-group-label {
  padding: .55rem 1rem .25rem;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ea580c;
}
.gs-item {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .65rem 1rem;
  text-decoration: none;
  color: inherit;
  border: 0;
  background: transparent;
  width: 100%;
  text-align: left;
  cursor: pointer;
}
.gs-item:hover,
.gs-item.is-active {
  background: #f8fafc;
}
.gs-item-ico,
.gs-item-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #ffedd5;
  overflow: hidden;
}
.gs-item-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gs-item-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .12rem;
}
.gs-item-title {
  font-size: .88rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gs-item-sub {
  font-size: .74rem;
  color: #64748b;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobil: ikon + fixed dropdown (bildirim ile aynı) */
@media (max-width: 959px) {
  .gs-dropdown {
    position: fixed;
    left: max(.75rem, env(safe-area-inset-left, 0px));
    right: max(.75rem, env(safe-area-inset-right, 0px));
    width: auto;
    max-width: none;
    top: calc(env(safe-area-inset-top, 0px) + 4.25rem);
  }
  html[data-aidatla-app="1"] .gs-dropdown {
    top: calc(env(safe-area-inset-top, 0px) + 4.25rem);
  }
}

/* Masaüstü: satır içi arama alanı */
@media (min-width: 960px) {
  .gs-wrap {
    min-width: min(18rem, 28vw);
    max-width: 22rem;
  }
  .gs-toggle { display: none; }
  .gs-dropdown {
    display: flex;
    position: relative;
    top: auto; left: auto; right: auto;
    width: 100%;
    border-radius: 12px;
    box-shadow: none;
    border-color: var(--line);
    overflow: visible;
  }
  .gs-wrap.is-open .gs-dropdown,
  .gs-wrap.has-query .gs-dropdown {
    border-color: #fdba74;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, .12);
  }
  .gs-field {
    border-bottom: 0;
    padding: .35rem .65rem;
    min-height: 2.45rem;
    border-radius: 12px;
  }
  .gs-results {
    display: none;
    position: absolute;
    top: calc(100% + .4rem);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
    max-height: min(60vh, 24rem);
    overflow: hidden;
    overflow-y: auto;
  }
  .gs-wrap.is-open .gs-results,
  .gs-wrap.has-query .gs-results {
    display: block;
  }
}

.app-header-profile {
  flex-shrink: 0; text-decoration: none; color: inherit;
  max-width: 42vw;
}
.app-header-profile .profile-chip-name {
  font-size: .78rem;
  display: none;
}
@media (min-width: 480px) {
  .app-header-profile .profile-chip-name { display: inline; }
}
@media (min-width: 960px) {
  .app-header-profile { display: none; }
}

/* ?oklu alan se?ici */
.panel-context-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: min(42vw, 11rem);
  height: 2.45rem;
  padding: 0 .55rem 0 .4rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
}
.panel-context-chip:hover {
  border-color: var(--brand);
  color: var(--brand-dark, #c2410c);
}
.panel-context-chip-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  max-width: 5.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: .15rem .4rem;
  border-radius: 8px;
  background: #fff7ed;
  color: #c2410c;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.panel-context-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 479px) {
  .panel-context-chip-label { display: none; }
  .panel-context-chip { padding: 0 .4rem; max-width: none; }
}
.modal-panel-context {
  width: min(100%, 440px);
}
.panel-context-modal-title {
  margin: 0 0 .35rem;
  font-size: 1.15rem;
}
.panel-context-modal-lead {
  margin: 0 0 1rem;
  font-size: .88rem;
}
.panel-context-list {
  display: flex;
  flex-direction: column;
  gap: .7rem;
}
.panel-context-form { margin: 0; }
button.panel-context-card,
.panel-context-card {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .85rem;
  width: 100%;
  text-align: left;
  padding: .95rem 1rem;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
button.panel-context-card:hover,
.panel-context-card:hover {
  border-color: rgba(249, 115, 22, .4);
  box-shadow: 0 12px 28px rgba(249, 115, 22, .1);
  transform: translateY(-1px);
}
button.panel-context-card.is-active,
.panel-context-card.is-active {
  border-color: #fb923c;
  background: linear-gradient(180deg, #fff7ed 0%, #fff 70%);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .14), 0 10px 24px rgba(249, 115, 22, .08);
}
.panel-context-card-ico {
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: #f3f4f6;
  color: #4b5563;
}
.panel-context-card-ico svg {
  width: 1.25rem;
  height: 1.25rem;
}
.panel-context-card--admin .panel-context-card-ico { background: #111827; color: #fdba74; }
.panel-context-card--firma .panel-context-card-ico { background: #fff7ed; color: #ea580c; }
.panel-context-card--personel .panel-context-card-ico { background: #eff6ff; color: #2563eb; }
.panel-context-card--veli .panel-context-card-ico,
.panel-context-card--default .panel-context-card-ico { background: #ecfdf5; color: #059669; }
.panel-context-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  min-width: 0;
}
.panel-context-card-badge {
  display: inline-flex;
  padding: .14rem .5rem;
  border-radius: 999px;
  background: #f3f4f6;
  color: #4b5563;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.panel-context-card.is-active .panel-context-card-badge {
  background: #ffedd5;
  color: #c2410c;
}
.panel-context-card-title {
  display: block;
  font-size: .98rem;
  font-weight: 750;
  line-height: 1.3;
  color: #111827;
}
.panel-context-card-sub {
  display: block;
  font-size: .8rem;
  color: #6b7280;
  line-height: 1.4;
}
.panel-context-card-now {
  display: inline-flex;
  margin-top: .2rem;
  font-size: .72rem;
  font-weight: 700;
  color: #c2410c;
}
.panel-context-card-go {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f9fafb;
  color: #9ca3af;
  flex-shrink: 0;
}
.panel-context-card-go svg {
  width: .95rem;
  height: .95rem;
}
.panel-context-card.is-active .panel-context-card-go {
  background: #ffedd5;
  color: #ea580c;
}
.panel-context-card:hover .panel-context-card-go {
  background: #fff7ed;
  color: #ea580c;
}
.panel-context-page {
  width: min(100%, 420px);
}
.panel-context-page .panel-context-list {
  margin-top: 1.15rem;
}
.panel-context-page .auth-lead {
  max-width: 28rem;
  margin-inline: auto;
}

/* Bildirim zili + dropdown — kurumsal / sade */
.notif-wrap { position: relative; flex-shrink: 0; }
.notif-bell {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 2.45rem; height: 2.45rem; border-radius: 12px; border: 1px solid var(--line);
  background: #fff; color: #334155; cursor: pointer; padding: 0;
  transition: border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.notif-bell:hover { border-color: #fdba74; color: var(--brand-dark); }
.notif-wrap.is-open .notif-bell {
  border-color: var(--brand);
  color: var(--brand-dark);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .15);
}
.notif-wrap.has-unread .notif-bell {
  border-color: rgba(249, 115, 22, .45);
  color: var(--brand-dark);
}
.notif-badge {
  position: absolute; top: .2rem; right: .15rem;
  min-width: 1.05rem; height: 1.05rem; padding: 0 .28rem;
  border-radius: 999px; background: var(--brand); color: #fff;
  font-size: .62rem; font-weight: 800; line-height: 1.05rem; text-align: center;
}
.notif-badge[hidden] { display: none !important; }
.notif-dropdown {
  position: absolute; top: calc(100% + .45rem); right: 0;
  width: min(22.5rem, calc(100vw - 1.5rem));
  max-height: min(74vh, 28rem);
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
  z-index: 80; overflow: hidden;
}
html[data-aidatla-app="1"] .notif-dropdown {
  right: 0;
  width: min(22.5rem, calc(100vw - 1.25rem));
}
@media (max-width: 720px) {
  .notif-dropdown,
  html[data-aidatla-app="1"] .notif-dropdown {
    position: fixed;
    left: max(.75rem, env(safe-area-inset-left, 0px));
    right: max(.75rem, env(safe-area-inset-right, 0px));
    width: auto;
    max-width: none;
    top: calc(env(safe-area-inset-top, 0px) + 4.25rem);
  }
}
.notif-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem;
  padding: .95rem 1.05rem .85rem;
  border-bottom: 1px solid #eef2f7;
  background: #fff;
}
.notif-head-copy {
  display: grid;
  gap: .2rem;
  min-width: 0;
}
.notif-head-label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ea580c;
}
.notif-head-title,
.notif-head strong.notif-head-title {
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #0f172a;
  line-height: 1.25;
}
.notif-head-acts { display: flex; gap: .25rem; flex-wrap: wrap; justify-content: flex-end; }
.notif-act {
  border: 1px solid transparent; background: transparent; color: #64748b; font-size: .72rem;
  font-weight: 700; cursor: pointer; padding: .28rem .5rem; border-radius: 999px;
}
.notif-act:hover { background: #f1f5f9; border-color: #e2e8f0; color: #0f172a; }
.notif-act-danger { color: #94a3b8; }
.notif-act-danger:hover { background: #fef2f2; border-color: #fecaca; color: #dc2626; }
.notif-list { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.notif-empty {
  display: grid;
  justify-items: center;
  gap: .3rem;
  padding: 2.1rem 1.25rem;
  text-align: center;
  color: #94a3b8;
}
.notif-empty strong {
  font-size: .9rem;
  color: #334155;
}
.notif-empty p {
  margin: 0;
  font-size: .8rem;
  max-width: 14rem;
  line-height: 1.4;
}
.notif-item {
  --notif-accent: #f97316;
  --notif-soft: #fff7ed;
  --notif-ink: #ea580c;
  position: relative;
  display: flex; align-items: flex-start; gap: .7rem;
  padding: .9rem 1.05rem;
  text-decoration: none; color: inherit;
  border-bottom: 1px solid #f1f5f9; cursor: pointer;
  transition: background .15s ease;
}
.notif-item::before {
  content: '';
  position: absolute;
  left: 0; top: .85rem; bottom: .85rem;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: transparent;
}
.notif-item:last-child { border-bottom: 0; }
.notif-item:hover { background: #f8fafc; }
.notif-item.is-unread { background: #fafafa; }
.notif-item.is-unread::before { background: var(--notif-accent); }
.notif-item.is-unread:hover { background: #f5f5f5; }
.notif-item-ico {
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  margin-top: .1rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--notif-soft);
  color: var(--notif-ink);
}
.notif-item-ico svg { width: 1rem; height: 1rem; }
.notif-item-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .22rem; }
.notif-item-title,
.notif-item-main strong.notif-item-title {
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: #0f172a;
}
.notif-item.is-unread .notif-item-title { font-weight: 750; }
.notif-item-body {
  font-size: .78rem;
  color: #64748b;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.notif-item-time {
  font-style: normal;
  font-size: .7rem;
  color: #94a3b8;
  font-weight: 500;
}
.notif-item-del {
  flex-shrink: 0; border: 0; background: transparent; color: #cbd5e1;
  cursor: pointer; padding: .28rem; border-radius: 10px; line-height: 0;
  opacity: 0;
  transition: opacity .15s ease, color .15s ease, background .15s ease;
}
.notif-item:hover .notif-item-del,
.notif-item:focus-within .notif-item-del { opacity: 1; }
.notif-item-del:hover { color: #dc2626; background: #fee2e2; }
@media (hover: none) {
  .notif-item-del { opacity: .55; }
}

/* Bildirim tip renkleri — sakin palet */
.notif-kind-payment { --notif-accent: #10b981; --notif-soft: #ecfdf5; --notif-ink: #059669; }
.notif-kind-debt { --notif-accent: #f59e0b; --notif-soft: #fffbeb; --notif-ink: #d97706; }
.notif-kind-fee { --notif-accent: #14b8a6; --notif-soft: #f0fdfa; --notif-ink: #0d9488; }
.notif-kind-attendance { --notif-accent: #38bdf8; --notif-soft: #f0f9ff; --notif-ink: #0284c7; }
.notif-kind-task,
.notif-kind-task-done { --notif-accent: #2dd4bf; --notif-soft: #f0fdfa; --notif-ink: #0f766e; }
.notif-kind-program { --notif-accent: #22d3ee; --notif-soft: #ecfeff; --notif-ink: #0891b2; }
.notif-kind-student { --notif-accent: #60a5fa; --notif-soft: #eff6ff; --notif-ink: #2563eb; }
.notif-kind-staff { --notif-accent: #94a3b8; --notif-soft: #f8fafc; --notif-ink: #475569; }
.notif-kind-parent { --notif-accent: #fb7185; --notif-soft: #fff1f2; --notif-ink: #e11d48; }
.notif-kind-group { --notif-accent: #2dd4bf; --notif-soft: #f0fdfa; --notif-ink: #0f766e; }
.notif-kind-trial { --notif-accent: #fb923c; --notif-soft: #fff7ed; --notif-ink: #ea580c; }
.notif-kind-success { --notif-accent: #22c55e; --notif-soft: #f0fdf4; --notif-ink: #16a34a; }
.notif-kind-danger { --notif-accent: #f87171; --notif-soft: #fef2f2; --notif-ink: #dc2626; }
.notif-kind-platform { --notif-accent: #fb923c; --notif-soft: #fff7ed; --notif-ink: #ea580c; }
.notif-kind-subscription { --notif-accent: #fbbf24; --notif-soft: #fffbeb; --notif-ink: #d97706; }
.notif-kind-warn { --notif-accent: #fb923c; --notif-soft: #fff7ed; --notif-ink: #ea580c; }
.notif-kind-message { --notif-accent: #fb923c; --notif-soft: #fff7ed; --notif-ink: #ea580c; }
.notif-kind-site { --notif-accent: #2dd4bf; --notif-soft: #f0fdfa; --notif-ink: #0f766e; }
.notif-kind-meeting { --notif-accent: #60a5fa; --notif-soft: #eff6ff; --notif-ink: #2563eb; }
.notif-kind-poll { --notif-accent: #22d3ee; --notif-soft: #ecfeff; --notif-ink: #0891b2; }
.notif-kind-meter { --notif-accent: #94a3b8; --notif-soft: #f8fafc; --notif-ink: #475569; }
.notif-kind-reservation { --notif-accent: #f472b6; --notif-soft: #fdf2f8; --notif-ink: #db2777; }
.notif-kind-info { --notif-accent: #94a3b8; --notif-soft: #f8fafc; --notif-ink: #475569; }

.panel-title {
  margin: 0;
  font-size: .95rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--ink-muted);
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.stat-grid { display: grid; gap: .65rem; grid-template-columns: repeat(2, 1fr); margin-bottom: 1.1rem; }
@media (min-width: 768px) { .stat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .stat-grid { grid-template-columns: repeat(6, 1fr); } }
.stat-grid-4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 720px) { .stat-grid-4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1100px) {
  .stat-grid.stat-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.stat-grid-compact {
  gap: .45rem;
  margin-bottom: .75rem;
}
.stat-grid-compact.stat-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .stat-grid-compact.stat-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.stat-card.is-compact {
  padding: .65rem .8rem;
  border-radius: 14px;
}
.stat-card.is-compact .stat-label {
  font-size: .65rem;
  margin-bottom: .2rem;
  letter-spacing: .03em;
}
.stat-card.is-compact .stat-value {
  font-size: 1.15rem;
  line-height: 1.2;
}
.stat-card.is-compact[class*="tone-"]::before {
  width: min(64px, 38%);
  height: min(64px, 60%);
  right: -20px;
  top: -24px;
  opacity: .35;
}
.stat-card.is-compact[class*="tone-"]::after {
  width: min(40px, 22%);
  height: min(40px, 38%);
  right: 14px;
  bottom: -16px;
  opacity: .22;
  border-width: 6px;
}
.stat-grid-fit {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 900px) {
  .stat-grid-fit {
    grid-template-columns: repeat(var(--stat-n, 6), minmax(0, 1fr));
  }
}
a.stat-card { text-decoration: none; color: inherit; }
a.stat-card:hover { filter: brightness(.98); }
.stat-card {
  display: block; background: #fff; border: 1px solid var(--line); border-radius: 18px;
  padding: 1rem 1.05rem; text-decoration: none; color: inherit; min-width: 0;
  transition: transform .18s ease, box-shadow .18s ease;
}
a.stat-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); color: inherit; }
.stat-card strong,
.stat-card .stat-value {
  display: block; font-family: var(--display); font-size: 1.55rem; font-weight: 800; letter-spacing: -0.03em;
}
.stat-card .stat-label {
  font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--ink-muted); margin-bottom: .35rem;
}
.mb-2 { margin-bottom: 1rem; }
.card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; margin-bottom: 1rem;
  min-width: 0;
  max-width: 100%;
}
.card-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .85rem; flex-wrap: wrap; }
.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  max-width: 100%;
  width: 100%;
}
table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
  min-width: 520px;
  table-layout: auto;
}
table.data th,
table.data td {
  padding: .7rem .55rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
table.data th { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-muted); position: relative; z-index: 1; }
table.data tbody tr { position: relative; }
table.data tbody tr:hover,
table.data tbody tr:focus-within { z-index: 5; }
.co-cell {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-width: 0;
}
.co-cell-text { min-width: 0; }
.co-cell-text strong {
  display: block;
  font-size: .92rem;
  line-height: 1.25;
}
.name-2line,
table.data.data-admin .profile-chip-name {
  white-space: normal;
  display: block;
  overflow: visible;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
  line-height: 1.3;
  max-width: none;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}
/* Firma ad?: k?saltma yok, tamam? g?r?ns?n */
.name-full,
table.data.data-admin .co-cell-text .name-full,
.dash-grid .co-cell-text .name-full {
  white-space: normal !important;
  display: block !important;
  overflow: visible !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.3;
  max-width: none !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}
.name-full-btn {
  white-space: normal !important;
  display: inline-block !important;
  height: auto !important;
  max-width: 100% !important;
  text-align: left;
  line-height: 1.3;
  padding-top: .35rem;
  padding-bottom: .35rem;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  overflow: visible !important;
}
table.data.data-admin .profile-chip {
  align-items: center;
  max-width: none;
  min-width: 0;
}
table.data.data-admin .profile-chip-name {
  font-weight: 600;
  font-size: .9rem;
}
.contact-lines {
  display: grid;
  gap: .15rem;
  line-height: 1.3;
  min-width: 0;
  max-width: 16rem;
}
.contact-lines span {
  display: block;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  font-size: .86rem;
}
table.data.data-admin th,
table.data.data-admin td {
  vertical-align: middle;
}
table.data.data-admin td:first-child,
table.data.data-admin td:nth-child(2) {
  white-space: normal;
}
.co-logo {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  flex-shrink: 0;
}
.co-logo-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .02em;
  color: #fff;
  background: linear-gradient(145deg, #f97316, #ea580c);
  border-color: transparent;
}
.co-days-warn { color: #c2410c; }
table.data tr.rule-section td {
  background: var(--bg-soft, #f8fafc);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ink-muted);
  padding: .55rem .55rem;
  border-bottom: 1px solid var(--line);
}

/* Profile chip */
.profile-chip {
  display: inline-flex; align-items: center; gap: .45rem; position: relative;
  cursor: pointer; max-width: 100%;
  z-index: 1;
}
.profile-chip-img {
  width: 36px; height: 36px; border-radius: 50%; object-fit: cover; object-position: center;
  border: 1.5px solid var(--line-strong); background: var(--brand-soft); flex-shrink: 0;
  display: block;
}
.profile-chip-text {
  display: flex;
  flex-direction: column;
  gap: .05rem;
  min-width: 0;
  line-height: 1.2;
}
.profile-chip-name {
  font-weight: 600;
  font-size: .9rem;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}
.profile-chip-sub {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  color: var(--ink-muted, #64748b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-chip-pop-name small {
  display: block;
  margin-top: .15rem;
  font-size: .75rem;
  font-weight: 600;
  opacity: .75;
}
.kids-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .25rem;
}
.kids-count {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.kids-count-btn {
  display: inline-flex;
  align-items: baseline;
  gap: .3rem;
  border: 1px solid var(--line);
  background: var(--surface-2, #f8fafc);
  color: inherit;
  border-radius: 999px;
  padding: .28rem .7rem;
  cursor: pointer;
  font: inherit;
  line-height: 1.2;
}
.kids-count-btn strong { font-size: .95rem; }
.kids-count-btn span { font-size: .75rem; color: var(--muted); font-weight: 500; }
.kids-count:hover .kids-count-btn,
.kids-count.is-open .kids-count-btn,
.kids-count:focus-within .kids-count-btn {
  border-color: var(--brand, #f97316);
  background: var(--brand-soft, #fff7ed);
}
.kids-count-pop {
  position: fixed;
  z-index: 520;
  display: none !important;
  flex-direction: column;
  min-width: 220px;
  max-width: min(320px, calc(100vw - 16px));
  max-height: min(320px, 50vh);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  pointer-events: none;
}
.kids-count-pop.is-visible {
  display: flex !important;
  pointer-events: auto;
}
.kids-count-pop-head {
  padding: .55rem .75rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  background: var(--surface-2, #f8fafc);
}
.kids-count-pop-list {
  list-style: none;
  margin: 0;
  padding: .35rem;
  overflow: auto;
}
.kids-count-pop-list li {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .4rem .45rem;
  border-radius: 10px;
}
.kids-count-pop-list li + li { margin-top: .1rem; }
.kids-count-pop-list li:hover { background: var(--brand-soft, #fff7ed); }
.kids-count-pop-list img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid var(--line-strong);
  flex-shrink: 0;
  background: var(--brand-soft);
}
.kids-count-pop-list strong {
  display: block;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.25;
}
.kids-count-pop-list span {
  display: block;
  font-size: .72rem;
  color: var(--muted);
  margin-top: .1rem;
}
@media (min-width: 960px) {
  table.data.data-rules {
    table-layout: fixed;
    width: 100%;
    min-width: 0;
  }
}
.profile-chip-pop {
  position: fixed; z-index: 500;
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: .65rem; box-shadow: var(--shadow-lg); width: 160px;
  display: none !important; flex-direction: column; align-items: center; gap: .4rem;
  pointer-events: none;
}
.profile-chip-pop.is-visible { display: flex !important; }
.profile-chip-pop img { width: 96px; height: 96px; border-radius: 14px; object-fit: cover; }
.profile-chip-pop strong,
.profile-chip-pop-name { font-size: .8rem; text-align: center; font-weight: 700; }
.profile-chip-static { cursor: default; }
.profile-chip-static .profile-chip-img { width: 36px; height: 36px; }
.profile-chip[data-size="md"] .profile-chip-img,
.profile-chip-img.is-md { width: 44px; height: 44px; }
.profile-chip[data-size="lg"] .profile-chip-img,
.profile-chip-img.is-lg { width: 56px; height: 56px; }
.profile-chip:hover,
.profile-chip:focus-within,
.profile-chip.is-open { z-index: 50; }

.app-tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 300;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: .15rem;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 16px 16px 0 0;
  padding: .35rem .45rem;
  /* Sistem nav / home indicator üstünde kalsın — bottom offset YOK (çift boşluk olmasın) */
  /* Android WebView: env(safe-area) çoğu zaman 0 → native --app-safe-bottom */
  padding-bottom: max(.35rem, env(safe-area-inset-bottom, 0px), var(--app-safe-bottom, 0px));
  padding-left: max(.45rem, env(safe-area-inset-left, 0px));
  padding-right: max(.45rem, env(safe-area-inset-right, 0px));
  box-shadow: 0 -6px 24px rgba(15, 23, 42, .08);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  transition: opacity .22s var(--ease), transform .28s var(--ease), visibility .22s;
}
@media (min-width: 960px) { .app-tabbar { display: none; } }

/* Mobil AssistiveTouch (iOS tarzı yelpaze) */
.atouch {
  display: none;
  position: fixed;
  z-index: 70;
  width: 3.5rem;
  height: 3.5rem;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
.atouch.is-enabled {
  display: block;
}
@media (min-width: 960px) {
  .atouch.is-enabled { display: none !important; }
}
html[data-aidatla-app="1"] .atouch.is-enabled {
  display: block;
}
.atouch.is-dragging { z-index: 80; }
.atouch-orb {
  position: relative;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  border: 0;
  padding: 0;
  cursor: grab;
  color: #fff;
  background: linear-gradient(145deg, #fb923c 0%, #f97316 55%, #ea580c 100%);
  box-shadow: 0 10px 28px rgba(234, 88, 12, .38);
  display: grid;
  place-items: center;
  z-index: 2;
}
.atouch.is-dragging .atouch-orb { cursor: grabbing; transform: scale(1.06); }
.atouch-orb-ring {
  position: absolute;
  inset: -.2rem;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 255, 255, .35);
  pointer-events: none;
}
.atouch.is-open .atouch-orb-ring {
  animation: atouch-pulse 1.6s ease-out infinite;
}
@keyframes atouch-pulse {
  0% { transform: scale(.95); opacity: .7; }
  100% { transform: scale(1.35); opacity: 0; }
}
.atouch-orb-core { display: grid; place-items: center; }
.atouch-fan {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  z-index: 1;
}
.atouch-chip {
  position: absolute;
  left: 0;
  top: 0;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 999px;
  background: #fff;
  color: #0f172a;
  text-decoration: none !important;
  border: 1px solid #ffedd5;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .16);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.45);
  pointer-events: none;
  transition:
    opacity .2s ease,
    left .28s cubic-bezier(.2, .9, .2, 1),
    top .28s cubic-bezier(.2, .9, .2, 1),
    transform .28s cubic-bezier(.2, .9, .2, 1);
  transition-delay: var(--atouch-delay, 0ms);
  z-index: 1;
}
.atouch-chip-ico {
  display: grid;
  place-items: center;
  color: #c2410c;
  line-height: 0;
}
.atouch-chip-lbl {
  position: absolute;
  top: calc(100% + .18rem);
  left: 50%;
  transform: translateX(-50%);
  max-width: 4.6rem;
  padding: .1rem .28rem;
  border-radius: 6px;
  background: rgba(15, 23, 42, .82);
  color: #fff;
  font-size: .58rem;
  font-weight: 650;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  opacity: 0;
}
.atouch.is-open .atouch-chip {
  left: var(--atouch-dx, 0px);
  top: var(--atouch-dy, 0px);
}
.atouch.is-open.is-fan-in .atouch-chip {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.atouch.is-open.is-fan-in .atouch-chip-lbl {
  opacity: 1;
}
.atouch-chip.is-label-up .atouch-chip-lbl {
  top: auto;
  bottom: calc(100% + .18rem);
}
body.modal-open .atouch { opacity: .35; pointer-events: none; }

.atouch-page { display: grid; gap: 1rem; max-width: 40rem; }
.atouch-page-card .card-head { margin-bottom: .65rem; }
.atouch-page-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.atouch-pick-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.atouch-pick-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .55rem;
  border-radius: 12px;
  border: 1px solid #ffedd5;
  background: #fffaf5;
}
.atouch-pick-check {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  flex: 1;
  cursor: pointer;
}
.atouch-pick-check input { width: 1.05rem; height: 1.05rem; accent-color: #f97316; }
.atouch-pick-ico {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #c2410c;
  border: 1px solid #fed7aa;
}
.atouch-pick-lbl { font-weight: 650; font-size: .9rem; }
.atouch-pick-move { display: flex; gap: .2rem; flex: 0 0 auto; }

.tab-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .22rem;
  min-width: 0;
  min-height: 52px;
  padding: .35rem .15rem;
  border-radius: 12px;
  font-size: .68rem;
  font-weight: 650;
  color: var(--ink-muted);
  text-decoration: none; border: 0; background: transparent; font-family: inherit; cursor: pointer;
  line-height: 1.15; text-align: center;
}
.tab-ico {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  color: inherit;
  opacity: 1;
  visibility: visible;
  line-height: 0;
}
.tab-ico .tab-emoji {
  display: block !important;
  font-size: 22px !important;
  line-height: 1 !important;
  filter: grayscale(0);
  transform: translateZ(0);
}
.tab-ico svg,
.tab-ico .ico-svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  flex-shrink: 0;
  stroke: currentColor;
  color: inherit;
  overflow: visible;
}
.tab-lbl {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: -.01em;
}
.tab-item-btn { appearance: none; width: 100%; }
.tab-item.active { color: var(--brand); background: var(--brand-soft); }
.tab-item.active .tab-ico { color: var(--brand); }
.tab-more {
  position: relative;
  min-width: 0;
  display: flex;
}
.tab-more .tab-item { width: 100%; }
.tab-more.is-active .tab-item-btn,
.tab-more.is-open .tab-item-btn { color: var(--brand); background: var(--brand-soft); }
.tab-more-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + .45rem);
  min-width: 200px;
  max-width: min(280px, 84vw);
  max-height: min(50dvh, 360px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-lg);
  padding: .35rem;
  z-index: 50;
}
.tab-more-menu:not([hidden]) { display: grid; gap: .15rem; }
.tab-more-link {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .75rem .9rem;
  border-radius: 10px;
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}
.tab-more-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--ink-muted);
  flex: 0 0 auto;
}
.tab-more-ico svg { width: 18px; height: 18px; display: block; }
.tab-more-link:hover { background: var(--bg-soft); color: var(--brand-dark); }
.tab-more-link:hover .tab-more-ico { color: var(--brand-dark); }
.tab-more-link.is-active {
  background: var(--brand-soft);
  color: var(--brand-dark);
}
.tab-more-link.is-active .tab-more-ico { color: var(--brand-dark); }

.toast-stack,
.flash-stack {
  position: fixed;
  top: calc(.85rem + env(safe-area-inset-top, 0px));
  right: max(.85rem, env(safe-area-inset-right, 0px));
  z-index: 220;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  width: min(22rem, calc(100vw - 1.5rem));
  pointer-events: none;
}
.toast,
.flash {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .85rem .9rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 16px 40px rgba(15, 23, 42, .16);
  animation: toastIn .28s var(--ease);
}
.toast-ico {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem; height: 2rem;
  border-radius: 10px;
}
.toast-body { flex: 1; min-width: 0; }
.toast-title {
  display: block;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
  margin: 0 0 .15rem;
}
.toast-msg,
.flash {
  margin: 0;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink);
}
.toast-close {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  padding: .15rem;
  border-radius: 8px;
  line-height: 0;
}
.toast-close:hover { color: var(--ink); background: var(--bg-soft); }
.toast-success { border-color: rgba(5, 150, 105, .22); }
.toast-success .toast-ico { background: var(--success-soft); color: var(--success); }
.toast-success .toast-title { color: var(--success); }
.toast-error { border-color: rgba(220, 38, 38, .22); }
.toast-error .toast-ico { background: var(--danger-soft); color: var(--danger); }
.toast-error .toast-title { color: var(--danger); }
.toast-info { border-color: rgba(2, 132, 199, .22); }
.toast-info .toast-ico { background: var(--info-soft); color: var(--info); }
.toast-info .toast-title { color: var(--info); }
.toast-warn { border-color: rgba(217, 119, 6, .25); }
.toast-warn .toast-ico { background: var(--warning-soft); color: var(--warning); }
.toast-warn .toast-title { color: var(--warning); }
/* eski flash s?n?flar? (auth bak?m band? hari?) */
.flash-stack .flash-success { border-color: rgba(5, 150, 105, .22); background: #fff; color: var(--ink); }
.flash-stack .flash-error { border-color: rgba(220, 38, 38, .22); background: #fff; color: var(--ink); }
.flash-stack .flash-info { border-color: rgba(2, 132, 199, .22); background: #fff; color: var(--ink); }
.toast.is-leaving {
  animation: toastOut .22s var(--ease) forwards;
}
@keyframes toastIn {
  from { opacity: 0; transform: translateY(-10px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes toastOut {
  from { opacity: 1; transform: none; }
  to { opacity: 0; transform: translateY(-8px) scale(.96); }
}

/*
 * Native uygulama (telefon + tablet): her zaman alt nav.
 * ?960px?te masa?st? sidebar a??l?nca tabbar gizleniyor ama padding kal?yordu ? alt bo?luk.
 */
html[data-aidatla-app="1"],
html[data-aidatla-app="1"] body {
  height: 100%;
  min-height: 100%;
  min-height: var(--vvh, 100dvh);
  background: var(--bg);
}
html[data-aidatla-app="1"] body:has(.app-shell) {
  overflow: auto !important;
  height: auto !important;
  min-height: var(--vvh, 100dvh);
}
html[data-aidatla-app="1"] .app-shell {
  display: block !important;
  grid-template-columns: none !important;
  height: auto !important;
  min-height: var(--vvh, 100dvh) !important;
  overflow: visible !important;
  padding-bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
}
html[data-aidatla-app="1"] .panel-sidebar {
  display: none !important;
}
html[data-aidatla-app="1"] .panel-main {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
  padding-bottom: 0;
}
html[data-aidatla-app="1"] .app-tabbar {
  display: grid !important;
}
html[data-aidatla-app="1"] .app-header-brand {
  display: inline-flex !important;
}
html[data-aidatla-app="1"] .app-header-company {
  display: none !important;
}
html[data-aidatla-app="1"] .app-header-profile {
  display: inline-flex !important;
}
/* Tablet yatay: i?erik geni?li?ini kullan */
@media (min-width: 768px) {
  html[data-aidatla-app="1"] .panel-main {
    padding-left: max(1.35rem, env(safe-area-inset-left, 0px));
    padding-right: max(1.35rem, env(safe-area-inset-right, 0px));
    padding-bottom: 1.35rem;
  }
  html[data-aidatla-app="1"] .app-header {
    margin-left: -1.35rem;
    margin-right: -1.35rem;
    padding-left: max(1.35rem, env(safe-area-inset-left, 0px));
    padding-right: max(1.35rem, env(safe-area-inset-right, 0px));
  }
  html[data-aidatla-app="1"] .stat-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  html[data-aidatla-app="1"] .hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html[data-aidatla-app="1"] .dash-grid {
    grid-template-columns: 1.35fr 1fr;
  }
}
@media (min-width: 1024px) and (orientation: landscape) {
  html[data-aidatla-app="1"] .hub-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  html[data-aidatla-app="1"] .stat-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .hide-mobile { display: none !important; }
  .auth-card { padding: 1.15rem; }
}

/* ===== Modal / Popup ===== */
.modal-backdrop {
  position: fixed; inset: 0; z-index: 1200;
  background: rgba(17, 24, 39, .45);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .22s var(--ease), visibility .22s;
  overflow: hidden;
}
.modal-backdrop.is-open {
  opacity: 1; visibility: visible; pointer-events: auto;
}
.modal-backdrop.modal-stack-2 { z-index: 1300; }
.modal-backdrop.modal-stack-3 { z-index: 1400; }
/* ??renci se?ici her zaman ?st katmanda (veli/??renci ekleme popup ?zerinde) */
#modal-entity-pick.is-open {
  z-index: 1350;
}
@media (min-width: 640px) {
  .modal-backdrop {
    padding: 1.25rem;
  }
}
/* Mobil uygulama: popup ?entik ve sistem nav d???nda kals?n */
html[data-aidatla-app="1"] .modal-backdrop,
html[data-aidatla-app="1"] .modal-backdrop.is-open {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: max(.75rem, env(safe-area-inset-top, 0px)) !important;
  padding-bottom: max(.75rem, env(safe-area-inset-bottom, 0px)) !important;
  padding-left: max(.75rem, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(.75rem, env(safe-area-inset-right, 0px)) !important;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: hidden !important;
}
html[data-aidatla-app="1"] .modal-backdrop .modal {
  position: relative;
  margin: auto !important;
  align-self: center !important;
  border-radius: 20px !important;
  width: min(100%, 560px) !important;
  max-width: 100%;
  max-height: 100% !important;
  transform: none !important;
}
html[data-aidatla-app="1"] .modal-backdrop:not(.is-open) .modal {
  transform: translateY(8px) scale(.98) !important;
}
html[data-aidatla-app="1"] .modal.modal-lg {
  width: min(100%, 720px) !important;
}

/* Klavye a??k: popup g?r?nen alan?n alt?na (klavye ?st?) otursun */
html.keyboard-open .modal-backdrop.is-open,
html[data-aidatla-app="1"].keyboard-open .modal-backdrop.is-open {
  top: var(--vv-top, 0px) !important;
  bottom: auto !important;
  height: var(--vvh, 100dvh) !important;
  max-height: var(--vvh, 100dvh) !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding-top: max(.35rem, env(safe-area-inset-top, 0px)) !important;
  padding-bottom: max(.35rem, env(safe-area-inset-bottom, 0px)) !important;
  padding-left: max(.5rem, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(.5rem, env(safe-area-inset-right, 0px)) !important;
}
html.keyboard-open .modal-backdrop.is-open .modal,
html[data-aidatla-app="1"].keyboard-open .modal-backdrop.is-open .modal {
  margin: 0 auto !important;
  align-self: flex-end !important;
  max-height: calc(var(--vvh, 100dvh) - env(safe-area-inset-top, 0px) - .75rem) !important;
  width: min(100%, 560px) !important;
  border-radius: 16px 16px 12px 12px !important;
  transform: none !important;
}
html.keyboard-open .modal-backdrop.is-open .modal .modal-body,
html[data-aidatla-app="1"].keyboard-open .modal-backdrop.is-open .modal .modal-body {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-bottom: 1.25rem;
  scroll-padding-top: .75rem;
}
.modal {
  width: min(100%, 560px);
  max-height: min(90dvh, 720px);
  background: #fff; border-radius: 20px;
  box-shadow: 0 24px 60px rgba(17,24,39,.22);
  display: flex; flex-direction: column;
  transform: translateY(12px) scale(.98);
  transition: transform .28s var(--ease);
  overflow: hidden;
  min-height: 0;
  margin: auto;
  align-self: center;
}
.modal-backdrop.is-open .modal { transform: none; }
.modal.modal-lg { width: min(100%, 720px); }
.modal > form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.modal-head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding: 1rem 1.15rem; border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.modal-head h3 { font-size: 1.1rem; margin: 0; }
.modal-close {
  width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--line);
  background: var(--bg-soft); cursor: pointer; font-size: 1.2rem; line-height: 1;
  display: grid; place-items: center; color: var(--ink-soft);
}
.modal-close:hover { background: var(--brand-soft); color: var(--brand); }
.modal-body {
  padding: 1.15rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
.modal-foot {
  padding: .9rem 1.15rem; border-top: 1px solid var(--line);
  display: flex; gap: .5rem; justify-content: flex-end; flex-wrap: wrap;
  background: #fafafa;
  flex-shrink: 0;
}
body.modal-open { overflow: hidden; }
body.modal-open .app-tabbar {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(120%);
}
@media (min-width: 960px) {
  body.modal-open .panel-main { overflow: hidden; }
}

.confirm-backdrop { z-index: 1500; }
.modal-confirm { max-width: 400px; width: 100%; }
.confirm-message {
  margin: 0; font-size: .95rem; line-height: 1.5; color: var(--ink);
  white-space: pre-wrap;
}
.btn-danger-solid {
  background: #dc2626 !important; border-color: #dc2626 !important; color: #fff !important;
}
.btn-danger-solid:hover { background: #b91c1c !important; border-color: #b91c1c !important; }

/* Touch / tablet polish */
@media (max-width: 959px) {
  .btn, .side-link {
    min-height: 44px;
  }
  .tab-item {
    min-height: 40px;
  }
  /* Tabloda y???lma yok: sat?r tek hat, yatay kayd?r; ba?l?k-s?tun hizas? korunur */
  .panel-main,
  .card,
  .modal-body,
  .sd-card {
    min-width: 0;
    max-width: 100%;
  }
  .table-wrap,
  .sd-table-wrap {
    -webkit-overflow-scrolling: touch;
    margin-left: -.35rem; margin-right: -.35rem;
    padding-left: .35rem; padding-right: .35rem;
    overscroll-behavior-x: contain;
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
  }
  .modal-body {
    overflow-x: auto;
  }
  table.data,
  .sd-table-wrap table.data {
    display: table !important;
    width: max-content !important;
    min-width: 520px !important;
    max-width: none !important;
    table-layout: auto !important;
    border-collapse: collapse;
    border-spacing: 0;
  }
  /* ?deme detay? / ge?mi?: popup i?inde 520px zorlamas? 2. kolonu kesmesin */
  table.data.pay-detail-table,
  table.data.pay-history-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .pay-detail-wrap {
    overflow: visible;
  }
  .pay-detail-wrap.table-wrap {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
  }
  /* Dashboard kartlar?: gereksiz yatay scroll olmas?n */
  .dash-grid table.data {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }
  table.data thead { display: table-header-group !important; }
  table.data tbody { display: table-row-group !important; }
  table.data tr { display: table-row !important; }
  table.data th,
  table.data td {
    display: table-cell !important;
    box-sizing: border-box;
    padding: .55rem .65rem;
    font-size: .82rem;
    letter-spacing: normal;
    white-space: nowrap !important;
    vertical-align: middle;
    text-align: left;
  }
  .dash-grid table.data th,
  .dash-grid table.data td {
    white-space: normal !important;
  }
  .dash-grid .dash-ops-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: .72rem !important;
  }
  /* Mobil: ad soyad sütununu genişlet (gecikmiş / son işlemler) */
  .dash-grid .dash-ops-table th:nth-child(1),
  .dash-grid .dash-ops-table td:nth-child(1) { width: 42% !important; }
  .dash-grid .dash-ops-table th:nth-child(2),
  .dash-grid .dash-ops-table td:nth-child(2) { width: 26% !important; }
  .dash-grid .dash-ops-table th:nth-child(3),
  .dash-grid .dash-ops-table td:nth-child(3) { width: 16% !important; }
  .dash-grid .dash-ops-table th:nth-child(4),
  .dash-grid .dash-ops-table td:nth-child(4) { width: 16% !important; }
  .dash-grid .dash-ops-table .dash-op-title {
    font-size: .72rem !important;
  }
  .dash-grid .dash-ops-table .dash-op-meta {
    display: block !important;
    font-size: .62rem !important;
  }
  .dash-grid .dash-ops-table .profile-chip-name {
    font-size: .74rem !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
  }
  .dash-grid .dash-scroll-list {
    overflow-x: auto !important;
  }
  table.data th {
    font-size: .72rem;
    letter-spacing: .03em;
    text-transform: uppercase;
  }
  /* H?cre i?i alt sat?r y???lmas?n? kald?r (mobilde yatay kayd?r yeterli) */
  table.data td > .tiny,
  table.data td .cell-stack,
  table.data td .kids-chips {
    display: none !important;
  }
  table.data .co-cell-text strong {
    display: inline;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  table.data.data-admin .co-cell-text strong.name-full,
  table.data.data-admin .profile-chip-name {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    white-space: normal !important;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 12rem;
  }
  table.data.data-admin .co-cell-text strong.name-full {
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-width: none !important;
  }
  table.data.data-admin .contact-lines {
    display: grid !important;
  }
  table.data.data-admin .contact-lines span {
    white-space: normal !important;
  }
  table.data .act-btns {
    flex-wrap: nowrap;
  }
  table.data .act {
    min-height: 36px;
    min-width: 36px;
    width: 36px;
    height: 36px;
  }
  table.data .btn.btn-sm {
    min-height: 36px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  table.data .profile-chip,
  table.data .co-cell {
    flex-wrap: nowrap;
    max-width: none;
    min-width: 0;
    width: max-content;
    align-items: center;
  }
  table.data .profile-chip-name,
  table.data .co-cell-text strong {
    display: inline;
    width: auto;
    max-width: none;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
    line-height: 1.3;
  }
  table.data td:has(> .profile-chip),
  table.data td:has(> .co-cell) {
    width: 1%;
    max-width: none;
    white-space: nowrap !important;
    overflow: hidden;
    background: #fff;
  }
  table.data tbody tr.is-student-passive td:has(> .profile-chip),
  table.data tbody tr.is-student-passive td:has(> .co-cell),
  table.data tbody tr.is-parent-passive td:has(> .profile-chip),
  table.data tbody tr.is-parent-passive td:has(> .co-cell) {
    background: rgba(220, 38, 38, 0.07);
  }
  table.data tbody tr:hover td:has(> .profile-chip),
  table.data tbody tr:hover td:has(> .co-cell),
  table.data tbody tr:focus-within td:has(> .profile-chip),
  table.data tbody tr:focus-within td:has(> .co-cell) {
    background: var(--brand-soft, #fff7ed);
  }
  table.data tbody tr.is-student-passive:hover td:has(> .profile-chip),
  table.data tbody tr.is-student-passive:hover td:has(> .co-cell),
  table.data tbody tr.is-student-passive:focus-within td:has(> .profile-chip),
  table.data tbody tr.is-student-passive:focus-within td:has(> .co-cell),
  table.data tbody tr.is-parent-passive:hover td:has(> .profile-chip),
  table.data tbody tr.is-parent-passive:hover td:has(> .co-cell),
  table.data tbody tr.is-parent-passive:focus-within td:has(> .profile-chip),
  table.data tbody tr.is-parent-passive:focus-within td:has(> .co-cell) {
    background: rgba(220, 38, 38, 0.12);
  }
  .dash-grid .dash-scroll-list table.data .profile-chip,
  .dash-grid .dash-scroll-list table.data .co-cell {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .dash-grid .dash-scroll-list table.data .profile-chip-name {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    display: block !important;
    max-width: 100% !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none;
    font-size: .72rem !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }
  table.data.data-admin .profile-chip-name,
  table.data.data-admin .co-cell-text strong.name-2line {
    white-space: nowrap !important;
    display: inline !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    max-width: none !important;
  }
  table.data.data-admin .co-cell-text strong.name-full {
    white-space: normal !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
    max-width: none !important;
  }
  .page-intro {
    padding: .9rem 1rem;
    margin-bottom: .9rem;
  }
  .page-intro-compact {
    gap: .65rem;
  }
  .page-intro-actions {
    width: 100%;
  }
  .page-intro-actions .btn {
    flex: 1 1 auto;
    justify-content: center;
    white-space: nowrap;
  }
  .card { padding: .9rem; border-radius: 16px; }
  .card-head .btn { white-space: nowrap; }
  .form-control, .form-select {
    font-size: 16px; /* iOS zoom ?nleme */
    min-height: 44px;
  }
  input.form-control[type="date"],
  input.form-control[type="datetime-local"],
  input.form-control[type="month"],
  input.form-control[type="time"],
  input[type="date"].form-control,
  input[type="datetime-local"].form-control {
    padding: .65rem .55rem;
    font-size: 16px;
    line-height: 1.25;
  }
  .form-row-2,
  .form-row-3,
  .modal .form-row-2,
  .modal .form-row-3,
  .card .form-row-2,
  .card .form-row-3 {
    grid-template-columns: 1fr;
  }
  .stat-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .dash-grid { grid-template-columns: 1fr; }
  .wa-top { grid-template-columns: 1fr; }
  .msg-detail-grid { grid-template-columns: 1fr; }
  .toast-stack,
  .flash-stack {
    left: .75rem; right: .75rem; width: auto;
    top: calc(.65rem + env(safe-area-inset-top));
  }
  .modal {
    width: 100%;
    max-height: calc(100svh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 1.25rem);
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 1.25rem);
    border-radius: 20px 20px 14px 14px;
  }
  html[data-aidatla-app="1"] .modal {
    max-height: 100% !important;
    border-radius: 20px !important;
    width: min(100%, 560px) !important;
  }
  html[data-aidatla-app="1"] .modal-backdrop {
    align-items: center !important;
    justify-content: center !important;
    inset: 0 !important;
    top: 0 !important;
    height: 100% !important;
    padding-top: max(.75rem, env(safe-area-inset-top, 0px)) !important;
    padding-bottom: max(.75rem, env(safe-area-inset-bottom, 0px)) !important;
    padding-left: max(.75rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(.75rem, env(safe-area-inset-right, 0px)) !important;
  }
  html[data-aidatla-app="1"].keyboard-open .modal-backdrop.is-open {
    align-items: flex-end !important;
    padding: .5rem .75rem !important;
    padding-top: max(.35rem, env(safe-area-inset-top, 0px)) !important;
    padding-bottom: max(.35rem, env(safe-area-inset-bottom, 0px)) !important;
  }
}
@media (min-width: 640px) and (max-width: 959px) {
  .form-row-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) and (max-width: 959px) {
  .stat-grid-4 { grid-template-columns: repeat(4, 1fr); }
  .kpi-grid { grid-template-columns: repeat(4, 1fr); }
  .dash-grid { grid-template-columns: 1.35fr 1fr; }
  .comm-grid { grid-template-columns: 1.1fr .9fr; align-items: start; }
  .panel-main { padding: 0 1.35rem 1.6rem; }
  .hub-grid { grid-template-columns: repeat(2, 1fr); }
}
html[data-aidatla-app="1"] .app-tabbar {
  /* Android: --app-safe-bottom native inset; iOS: env(safe-area) */
  gap: .12rem;
  padding-top: .3rem;
  padding-left: max(.35rem, env(safe-area-inset-left, 0px));
  padding-right: max(.35rem, env(safe-area-inset-right, 0px));
  padding-bottom: max(.3rem, env(safe-area-inset-bottom, 0px), var(--app-safe-bottom, 0px));
}
html[data-aidatla-app="1"] .tab-item {
  min-height: 54px;
  padding: .3rem .1rem;
  gap: .2rem;
  font-size: .7rem;
  line-height: 1.15;
}
html[data-aidatla-app="1"] .tab-ico {
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
}
html[data-aidatla-app="1"] .tab-ico .tab-emoji {
  font-size: 24px !important;
}
html[data-aidatla-app="1"] .tab-ico svg,
html[data-aidatla-app="1"] .tab-ico .ico-svg {
  width: 26px !important;
  height: 26px !important;
  display: block !important;
  stroke: currentColor !important;
}

.page-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  flex-wrap: wrap; margin-bottom: 1rem;
}
.page-toolbar .tools { display: flex; gap: .45rem; flex-wrap: wrap; }
.seg {
  display: inline-flex; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: .2rem;
}
.seg button, .seg a {
  border: 0; background: transparent; padding: .4rem .85rem; border-radius: 999px;
  font-size: .82rem; font-weight: 600; color: var(--ink-muted); cursor: pointer; text-decoration: none;
}
.seg button.is-active, .seg a.is-active { background: var(--brand); color: #fff; }

.list-empty {
  text-align: center; padding: 2.5rem 1rem; color: var(--ink-muted);
}
.list-empty strong { display: block; color: var(--ink); margin-bottom: .35rem; font-family: var(--display); }
.list-empty .btn { margin-top: 1rem; }

.chip-row { display: flex; flex-wrap: wrap; gap: .35rem; }
.soft-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .25rem .55rem; border-radius: 999px; background: var(--bg-soft);
  font-size: .75rem; font-weight: 600; color: var(--ink-soft);
}

.panel-tabs { display: flex; gap: .35rem; margin-bottom: 1rem; overflow-x: auto; }
.panel-tab {
  flex: 0 0 auto; padding: .55rem 1rem; border-radius: 999px; border: 1px solid var(--line);
  background: #fff; font-weight: 600; font-size: .85rem; color: var(--ink-muted); cursor: pointer;
}
.panel-tab.is-active { background: var(--accent); color: #fff; border-color: var(--accent); }

/* Gruplar sayfas? ? b?l?m se?ici */
.groups-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  margin: 0 0 1.1rem;
  padding: .35rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(17, 24, 39, .03);
}
.groups-nav-item {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: 0;
  min-height: 4.25rem;
  padding: .55rem .35rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  text-align: center;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.groups-nav-item:hover {
  background: var(--bg-soft);
  color: var(--ink);
}
.groups-nav-item.is-active {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 8px 18px rgba(31, 41, 55, .18);
}
.groups-nav-ico {
  display: grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 8px;
  background: var(--bg-soft);
  color: inherit;
  flex-shrink: 0;
}
.groups-nav-item.is-active .groups-nav-ico {
  background: rgba(255, 255, 255, .16);
}
.groups-nav-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .1rem;
  min-width: 0;
  width: 100%;
}
.groups-nav-title {
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.groups-nav-sub {
  display: none;
  font-size: .72rem;
  font-weight: 500;
  line-height: 1.25;
  opacity: .72;
}
.groups-nav-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
}
.groups-nav-item.is-active .groups-nav-count {
  background: rgba(255, 255, 255, .2);
  color: #fff;
}
.groups-add-actions .btn[hidden] { display: none !important; }

@media (min-width: 720px) {
  .groups-nav {
    gap: .45rem;
    padding: .45rem;
  }
  .groups-nav-item {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    min-height: 0;
    padding: .7rem .85rem;
    gap: .7rem;
    text-align: left;
  }
  .groups-nav-copy {
    align-items: flex-start;
    flex: 1;
  }
  .groups-nav-title {
    font-size: .9rem;
  }
  .groups-nav-sub {
    display: block;
  }
  .groups-nav-count {
    margin-left: auto;
  }
}

@media (max-width: 420px) {
  .groups-nav-item {
    min-height: 3.9rem;
    padding: .45rem .2rem;
    gap: .28rem;
  }
  .groups-nav-ico {
    width: 1.6rem;
    height: 1.6rem;
  }
  .groups-nav-ico svg {
    width: 14px;
    height: 14px;
  }
  .groups-nav-title {
    font-size: .72rem;
  }
  .groups-nav-count {
    min-width: 1.2rem;
    height: 1.2rem;
    font-size: .65rem;
  }
}

.group-grid {
  display: grid; gap: .85rem;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
.group-grid > .gc-card { min-width: 0; }
@media (min-width: 700px) {
  .group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .group-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ?cret / ekipman kartlar?: e?it boy, 3 kolon */
.group-grid--fees {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
@media (max-width: 1099px) {
  .group-grid--fees { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .group-grid--fees { grid-template-columns: 1fr; }
}
.group-grid--fees .gc-card {
  min-height: 340px;
  height: 100%;
}
.group-grid--fees .gc-days {
  min-height: 2.6rem;
  max-height: 2.6rem;
  overflow: hidden;
}
.group-grid--fees .gc-days span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.group-grid--fees .gc-rows {
  flex: 1 1 auto;
  min-height: 0;
}
.group-grid--fees .gc-row-sizes strong {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 58%;
  line-height: 1.25;
}

/* Ekipman stok paneli */
.eq-stock-board {
  margin: 0 0 1.15rem;
}
.eq-stock-board-head {
  margin: 0 0 .75rem;
}
.eq-stock-board-head h3 {
  margin: 0 0 .2rem;
  font-size: 1.05rem;
}
.eq-stock-board-head p { margin: 0; }
.eq-stock-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.eq-stock-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .85rem .95rem;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
}
.eq-stock-card.is-ok {
  border-color: rgba(22, 163, 74, .28);
  background: linear-gradient(180deg, #f0fdf4 0%, #fff 42%);
}
.eq-stock-card.is-empty {
  border-color: rgba(220, 38, 38, .28);
  background: linear-gradient(180deg, #fef2f2 0%, #fff 42%);
}
.eq-stock-card-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7.5rem 4.5rem;
  gap: .75rem;
  align-items: end;
  margin-bottom: .75rem;
}
.eq-stock-name strong {
  display: block;
  font-size: .98rem;
  line-height: 1.25;
}
.eq-stock-name .tiny { display: block; margin-top: .15rem; }
.eq-stock-price label {
  display: block;
  margin-bottom: .25rem;
}
.eq-stock-price .form-control {
  padding: .45rem .55rem;
  border-radius: 10px;
  font-weight: 700;
}
.eq-stock-total {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .1rem;
  min-height: 2.55rem;
  border-radius: 10px;
  padding: .35rem .4rem;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.eq-stock-total strong {
  font-size: 1.1rem;
  letter-spacing: 0;
  text-transform: none;
}
.eq-stock-total.is-ok {
  background: #dcfce7;
  color: #166534;
}
.eq-stock-total.is-empty {
  background: #fee2e2;
  color: #991b1b;
}
.eq-stock-sizes {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: stretch;
}
.eq-stock-nosize {
  margin: .15rem .25rem .15rem 0;
  align-self: center;
}
.eq-size-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: .35rem .45rem .35rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #f8fafc;
  cursor: default;
}
.eq-size-chip.is-ok {
  border-color: rgba(22, 163, 74, .45);
  background: #dcfce7;
  color: #166534;
}
.eq-size-chip.is-empty {
  border-color: rgba(220, 38, 38, .4);
  background: #fee2e2;
  color: #991b1b;
}
.eq-size-name {
  font-size: .78rem;
  font-weight: 800;
  min-width: 1.4rem;
}
.eq-size-chip input[type="number"] {
  width: 3.4rem !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: .25rem .35rem !important;
  font-weight: 700;
  font-size: .85rem;
  text-align: center;
  background: rgba(255, 255, 255, .85) !important;
  color: inherit !important;
  box-shadow: none !important;
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
}
.eq-size-chip input[type="number"]::after {
  content: none !important;
  display: none !important;
}
.eq-size-chip input[type="number"]:focus {
  outline: 2px solid rgba(249, 115, 22, .45);
  outline-offset: 1px;
}
.eq-size-extra .eq-size-name {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.eq-stock-quick {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.5rem auto;
  gap: .45rem;
  margin-top: .75rem;
  padding-top: .7rem;
  border-top: 1px dashed var(--line);
  align-items: center;
}
.eq-stock-quick .form-control {
  padding: .45rem .6rem;
  border-radius: 10px;
}
@media (max-width: 719px) {
  .eq-stock-card-top {
    grid-template-columns: 1fr 1fr;
  }
  .eq-stock-name { grid-column: 1 / -1; }
  .eq-stock-quick {
    grid-template-columns: 1fr 1fr;
  }
  .eq-stock-quick .btn {
    grid-column: 1 / -1;
  }
}

/* Grup kartlari ? esit yukseklik / hizali */
.gc-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 1.15rem 1.2rem 1rem;
  display: flex; flex-direction: column; gap: .75rem;
  height: 100%; min-height: 280px; min-width: 0; box-sizing: border-box;
  box-shadow: 0 4px 18px rgba(15, 23, 42, .06);
  transition: transform .2s var(--ease), box-shadow .2s;
}
.gc-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(15, 23, 42, .1); }
.gc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; min-height: 3.2rem; min-width: 0; }
.gc-head > div { min-width: 0; flex: 1 1 auto; }
.gc-head h3 {
  margin: 0; font-size: 1.05rem; font-weight: 800; color: var(--ink); line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gc-branch {
  margin: .35rem 0 0; display: flex; align-items: center; gap: .35rem;
  color: var(--ink-muted); font-size: .82rem; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gc-branch svg { flex-shrink: 0; opacity: .7; }
.gc-badge {
  flex-shrink: 0; font-size: .72rem; font-weight: 700; padding: .28rem .65rem;
  border-radius: 999px; letter-spacing: .01em;
}
.gc-badge.is-on { background: #16a34a; color: #fff; }
.gc-badge.is-off { background: #94a3b8; color: #fff; }
.gc-badge.is-soft { background: #e2e8f0; color: #475569; }
.gc-days {
  display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .75rem;
  min-height: 2.4rem; min-width: 0; font-size: .84rem; color: var(--ink-soft); padding: .55rem .7rem;
  background: var(--surface-2, #f8fafc); border-radius: 10px;
}
.gc-days > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
}
.gc-days strong { color: var(--ink); font-weight: 700; flex-shrink: 0; }
.gc-rows {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .55rem; flex: 1 1 auto; min-width: 0;
}
.gc-rows li {
  display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem;
  font-size: .88rem; color: var(--ink-muted); min-height: 1.35rem; min-width: 0;
}
.gc-rows li > span:first-child {
  display: inline-flex; align-items: center; gap: .4rem;
  flex: 0 1 auto; min-width: 0; max-width: 48%;
}
.gc-rows li > strong,
.gc-rows li > .gc-value {
  color: var(--ink); font-weight: 700; text-align: right;
  flex: 1 1 auto; min-width: 0; max-width: 58%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.gc-coaches {
  display: inline-flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .3rem .4rem;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
.gc-coaches .profile-chip {
  max-width: 100%;
  min-width: 0;
}
.gc-coaches .profile-chip-name {
  max-width: 6.5rem;
}
.gc-fee { color: #16a34a !important; }
.gc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: .4rem;
  margin-top: auto;
  min-width: 0;
}
.gc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
  border: 0; border-radius: 8px; padding: .55rem .65rem; font-size: .78rem; font-weight: 700;
  color: #fff; text-decoration: none; cursor: pointer; line-height: 1.15;
  min-width: 0; flex: 1 1 auto; white-space: nowrap;
}
.gc-edit { background: #eab308; }
.gc-edit:hover { filter: brightness(.95); color: #fff; }
.gc-assign { background: #16a34a; }
.gc-assign:hover { filter: brightness(.95); color: #fff; }
.gc-view { background: #06b6d4; }
.gc-view:hover { filter: brightness(.95); color: #fff; }
.gc-del-form { margin: 0; flex: 0 0 auto; display: flex; }
.gc-del {
  background: #ef4444;
  padding: .55rem .65rem;
  width: 2.55rem;
  flex: none;
}
.gc-del:hover { filter: brightness(.95); }
/* Program karti: 3 aksiyon + sil ? duzenli 2x2 */
.gc-actions:has(.gc-assign) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}
.gc-actions:has(.gc-assign) .gc-btn { width: 100%; flex: none; }
.gc-actions:has(.gc-assign) .gc-view { grid-column: 1 / 3; }
.gc-actions:has(.gc-assign) .gc-del-form {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: stretch;
}
.gc-actions:has(.gc-assign) .gc-del { height: 100%; width: 2.55rem; }
.gc-cat {
  display: flex; align-items: center; gap: .45rem;
  min-height: 2.35rem; min-width: 0; padding: .55rem .7rem;
  background: #f1f5f9; border-radius: 10px; color: var(--ink-muted); font-size: .84rem;
  overflow: hidden;
}
.gc-cat span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
@media (max-width: 419px) {
  .gc-actions:has(.gc-assign) {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .gc-actions:has(.gc-assign) .gc-view { grid-column: 1; }
  .gc-actions:has(.gc-assign) .gc-del-form { grid-column: 2; grid-row: 1 / span 3; }
}
.day-pick { display: flex; flex-wrap: wrap; gap: .4rem; }
.day-chip {
  display: inline-flex; align-items: center; cursor: pointer; margin: 0; user-select: none;
}
.day-chip input { position: absolute; opacity: 0; pointer-events: none; }
.day-chip span {
  display: inline-block; min-width: 2.85rem; text-align: center;
  padding: .45rem .55rem; border-radius: 10px; font-size: .8rem; font-weight: 700;
  border: 1px solid var(--line); background: #fff; color: var(--ink-muted);
  transition: background .15s, border-color .15s, color .15s;
}
.day-chip input:checked + span {
  background: var(--brand); border-color: var(--brand); color: #fff;
}
.day-chip:hover span { border-color: var(--brand); color: var(--ink); }
.day-chip input:focus-visible + span { outline: 2px solid var(--brand); outline-offset: 2px; }

.size-pick { display: flex; flex-wrap: wrap; gap: .45rem; }
.size-chip {
  display: inline-flex; align-items: center; cursor: pointer; margin: 0; user-select: none;
  position: relative;
}
.size-chip > input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.size-chip span,
.size-chip .size-chip-face {
  display: inline-flex; align-items: center; gap: .3rem;
  min-width: 2.6rem; text-align: center;
  padding: .35rem .45rem; border-radius: 10px; font-size: .8rem; font-weight: 700;
  border: 1px solid var(--line); background: #fff; color: var(--ink-muted);
  transition: background .15s, border-color .15s, color .15s;
}
.size-chip input:checked + span,
.size-chip input:checked + .size-chip-face {
  background: var(--brand-soft); border-color: var(--brand); color: var(--ink);
}
.size-chip:hover span,
.size-chip:hover .size-chip-face { border-color: var(--brand); color: var(--ink); }
.size-chip-name { min-width: 1.4rem; }
.size-stock-input {
  width: 3.4rem; min-width: 3.4rem;
  padding: .15rem .25rem; border-radius: 6px;
  border: 1px solid var(--line-strong);
  font-size: .78rem; font-weight: 700; text-align: center;
  background: #fff; color: var(--ink);
}
.size-chip input:checked + .size-chip-face .size-stock-input {
  border-color: var(--brand);
}
.size-add-row {
  display: flex; gap: .5rem; align-items: center; margin-top: .55rem; flex-wrap: wrap;
}
.size-add-row .form-control { flex: 1 1 auto; max-width: 12rem; }

/* ===== Reference-inspired panel UI (Aidatla brand) ===== */
.page-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; margin-bottom: 1.1rem;
}
.page-head h1 { font-size: 1.45rem; margin: 0; display: flex; align-items: center; gap: .55rem; }
.page-head .sub { color: var(--ink-muted); font-size: .88rem; margin-top: .25rem; }
.page-head-ico {
  width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center;
  background: var(--brand-soft); color: var(--brand); font-size: 1.1rem;
}

.kpi-grid {
  display: grid; gap: .75rem; margin-bottom: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 700px) { .kpi-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1100px) { .kpi-grid.kpi-5 { grid-template-columns: repeat(5, 1fr); } }
.kpi {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: .9rem 1rem;
  display: flex; align-items: center; gap: .75rem;
}
a.kpi { text-decoration: none; color: inherit; transition: border-color .15s ease, box-shadow .15s ease; }
a.kpi:hover { border-color: var(--accent, #f97316); box-shadow: 0 0 0 2px rgba(249, 115, 22, .12); }
a.kpi.is-active { border-color: var(--accent, #f97316); box-shadow: 0 0 0 2px rgba(249, 115, 22, .18); }
.kpi-ico {
  width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center;
  font-size: 1.15rem; flex-shrink: 0; color: #fff;
}
.kpi-ico svg { width: 20px; height: 20px; display: block; }
.kpi-ico.orange { background: linear-gradient(135deg, #f97316, #fb923c); }
.kpi-ico.green { background: linear-gradient(135deg, #059669, #34d399); }
.kpi-ico.blue { background: linear-gradient(135deg, #0284c7, #38bdf8); }
.kpi-ico.red { background: linear-gradient(135deg, #dc2626, #f87171); }
.kpi-ico.slate { background: linear-gradient(135deg, #334155, #64748b); }
.kpi-ico.purple { background: linear-gradient(135deg, #7c3aed, #a78bfa); }
.kpi strong { display: block; font-family: var(--display); font-size: 1.35rem; line-height: 1.1; }
.kpi span { font-size: .78rem; color: var(--ink-muted); font-weight: 600; }

.filter-bar {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: .75rem;
  margin-bottom: .75rem; display: grid; gap: .5rem;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.filter-bar .filters {
  display: grid; gap: .5rem;
  grid-template-columns: 1fr;
  align-items: end;
  min-width: 0;
}
.filter-bar .filters > * {
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 700px) {
  .filter-bar { padding: 1rem; gap: .75rem; margin-bottom: 1rem; }
  .filter-bar .filters.filters-students {
    grid-template-columns: minmax(160px, 1.6fr) repeat(3, minmax(110px, 1fr)) auto;
  }
  .filter-bar .filters.filters-parents {
    grid-template-columns: minmax(200px, 1.8fr) minmax(140px, 1fr) auto;
  }
  .filter-bar .filters:not(.filters-students):not(.filters-parents) {
    grid-template-columns: repeat(3, 1fr) auto;
  }
}
@media (min-width: 1000px) {
  .filter-bar .filters:not(.filters-students):not(.filters-parents) {
    grid-template-columns: repeat(5, 1fr) auto;
  }
}
.filter-bar label { font-size: .72rem; font-weight: 700; color: var(--ink-muted); display: block; margin-bottom: .2rem; }
.filter-bar .form-group { margin-bottom: 0; }
.filter-actions { display: flex; gap: .4rem; flex-wrap: wrap; align-items: end; }

.welcome-banner {
  background: linear-gradient(120deg, #fff7ed, #ffedd5 55%, #fed7aa);
  border: 1px solid rgba(249,115,22,.15); border-radius: 18px; padding: 1.25rem 1.4rem;
  margin-bottom: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.welcome-banner h2 { font-size: 1.25rem; margin: 0 0 .25rem; }
.quick-actions {
  display: grid; gap: .65rem; grid-template-columns: repeat(2, 1fr); margin-bottom: 1rem;
}
@media (min-width: 800px) { .quick-actions { grid-template-columns: repeat(4, 1fr); } }
.qa {
  border: 0; border-radius: 14px; padding: 1rem; color: #fff; text-align: left; cursor: pointer;
  font-weight: 700; text-decoration: none; display: block; transition: transform .15s;
}
.qa:hover { transform: translateY(-2px); color: #fff; }
.qa small { display: block; font-weight: 500; opacity: .9; margin-top: .25rem; font-size: .78rem; }
.qa.c1 { background: linear-gradient(135deg, #0891b2, #22d3ee); }
.qa.c2 { background: linear-gradient(135deg, #4f46e5, #818cf8); }
.qa.c3 { background: linear-gradient(135deg, #dc2626, #f87171); }
.qa.c4 { background: linear-gradient(135deg, #334155, #64748b); }

.act-btns {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .3rem;
  white-space: nowrap;
}
.act {
  width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--line);
  display: grid; place-items: center; background: #fff; cursor: pointer; font-size: .85rem;
  text-decoration: none; color: var(--ink);
  flex-shrink: 0;
}
.act:hover { background: var(--bg-soft); }
.act.edit { background: #fff7ed; border-color: #fdba74; color: #c2410c; }
.act.view { background: #ecfdf5; border-color: #6ee7b7; color: #047857; }
.act.send { background: #ecfdf5; border-color: #6ee7b7; color: #047857; }
.act.del { background: #fef2f2; border-color: #fca5a5; color: #b91c1c; }
.act.pay { background: #eff6ff; border-color: #93c5fd; color: #1d4ed8; }
.act svg { width: 14px; height: 14px; display: block; }
.act-btns form { display: inline; margin: 0; }
.modal.modal-detail { width: min(100%, 880px); max-height: min(94dvh, 900px); }

/* S?per admin popup d?zeni */
.admin-popup { display: flex; flex-direction: column; gap: 1rem; }
.admin-popup-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
}
.admin-popup-brand {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
  flex: 1;
}
.admin-popup-logo {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  flex-shrink: 0;
}
.admin-popup-logo-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(145deg, #f97316, #ea580c);
  border-color: transparent;
}
.admin-popup-owner {
  margin-bottom: .15rem;
}
.admin-popup-owner .profile-chip {
  max-width: 100%;
}
.admin-popup-title { margin: 0 0 .4rem; font-size: 1.15rem; }
.admin-popup-metrics {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem;
}
.admin-popup-metric {
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: 12px; padding: .7rem .8rem;
}
.admin-popup-metric span { display: block; font-size: .72rem; color: var(--ink-muted); font-weight: 600; margin-bottom: .2rem; }
.admin-popup-metric strong { font-size: 1.05rem; }
.admin-popup-cols {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem 1rem;
}
.admin-popup-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-popup-col {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .85rem .9rem;
  display: flex; flex-direction: column; gap: .55rem;
}
.admin-popup-col h4 {
  margin: 0 0 .15rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-muted);
}
.admin-popup-kv { display: flex; flex-direction: column; gap: .15rem; }
.admin-popup-kv span { font-size: .72rem; color: var(--ink-muted); font-weight: 600; }
.admin-popup-kv strong { font-size: .9rem; word-break: break-word; font-weight: 600; }
.admin-popup-note {
  border: 1px solid var(--line); border-radius: 12px; padding: .85rem .9rem; background: var(--bg-soft);
}
.admin-popup-note p { margin: 0 0 .35rem; }
.admin-popup-note p:last-child { margin: 0; }
.admin-popup-section h4 { margin: 0 0 .55rem; font-size: .95rem; }
.admin-popup-staff {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem;
}
.admin-popup-staff-item {
  border: 1px solid var(--line); border-radius: 10px; padding: .65rem .75rem;
  display: grid; gap: .25rem;
}
.admin-popup-staff-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  min-width: 0;
}
.admin-popup-staff-main .profile-chip {
  min-width: 0;
  flex: 1;
}
.admin-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .65rem;
}
.admin-popup-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.admin-popup-section-head h4 { margin: 0; }
.admin-popup-form .form-group { margin-bottom: .65rem; }
@media (max-width: 760px) {
  .admin-popup-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-popup-cols,
  .admin-popup-cols-2,
  .admin-popup-staff { grid-template-columns: 1fr; }
}
table.data tbody tr.is-clickable { cursor: pointer; }
table.data tbody tr.is-clickable:hover { background: var(--brand-soft); }
.sd-hero {
  display: grid;
  gap: .85rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.95), rgba(255,247,237,0.9)),
    radial-gradient(ellipse at top right, rgba(249,115,22,0.12), transparent 55%);
  border: 1px solid rgba(249,115,22,0.14);
}
.sd-hero-main {
  display: flex;
  gap: 1rem;
  align-items: center;
  min-width: 0;
}
.sd-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 4px 14px rgba(249,115,22,0.2);
  background: var(--brand-soft);
  flex-shrink: 0;
}
.sd-avatar-sm {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid var(--line-strong);
  background: var(--brand-soft);
  flex-shrink: 0;
}
.sd-hero-text { min-width: 0; flex: 1; }
.sd-hero-text h3 {
  margin: 0 0 .55rem;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}
.sd-title-gender {
  font-weight: 600;
  color: var(--ink-muted);
  font-size: 0.85em;
}
.sd-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.sd-badges .soft-chip {
  margin: 0;
  background: #fff;
  border: 1px solid var(--line);
  padding: .35rem .7rem;
  font-size: .78rem;
}
.sd-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin: 0 0 .35rem;
}
.sd-hero-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
}
.sd-stat {
  padding: .7rem .8rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line);
}
.sd-stat span {
  display: block;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ink-muted);
  margin-bottom: .2rem;
}
.sd-stat strong {
  font-family: var(--display);
  font-size: 1.1rem;
}
.sd-stat.is-ok strong { color: var(--success); }
.sd-stat.is-warn strong { color: var(--warning, #c47a1a); }
.sd-stat.is-danger strong { color: var(--danger); }
.sd-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: flex-end;
}
.sd-status-form {
  margin: 0;
  display: inline-flex;
  align-items: flex-end;
}
.sd-status-label {
  display: grid;
  gap: .2rem;
  font-size: .72rem;
  color: var(--ink-muted);
  font-weight: 600;
}
.sd-status-label .form-select,
.form-select.form-select-sm {
  min-height: 34px;
  padding: .35rem .65rem;
  font-size: .85rem;
  width: auto;
  min-width: 7.5rem;
}
.sd-grid {
  display: grid;
  gap: .75rem;
  margin-bottom: .75rem;
}
.sd-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: visible;
  box-shadow: 0 6px 18px rgba(31,41,55,0.04);
  margin-bottom: .75rem;
}
.sd-card-wide { margin-bottom: .75rem; }
.sd-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--line);
  background: #fafafa;
}
.sd-card-head h4 {
  margin: 0;
  font-size: .92rem;
}
.sd-card-body {
  padding: .85rem 1rem 1rem;
  display: grid;
  gap: .55rem .75rem;
}
@media (min-width: 520px) {
  .sd-card-body { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 640px) {
  .sd-card-body.sd-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .sd-card-body.sd-cols-4 { grid-template-columns: repeat(4, 1fr); }
}
.sd-kv {
  min-width: 0;
  padding: .55rem .65rem;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(31,41,55,0.05);
}
.sd-kv span {
  display: block;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: .15rem;
}
.sd-kv strong {
  display: block;
  font-size: .9rem;
  font-weight: 650;
  color: var(--ink);
  word-break: break-word;
}
.sd-kv-full { grid-column: 1 / -1; }
.sd-veli-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .35rem 0 .15rem;
}
.sd-veli-head + .sd-veli-head { margin-top: .35rem; border-top: 1px solid var(--line); padding-top: .65rem; }
.sd-table-wrap {
  display: block;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  grid-column: 1 / -1;
}
.sd-card-body.sd-table-wrap {
  display: block;
  padding: 0;
}
.sd-table-wrap .data { margin: 0; }
.sd-table-wrap .data th,
.sd-table-wrap .data td { padding: .65rem .85rem; }
.sd-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .45rem;
  grid-column: 1 / -1;
}
.sd-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .6rem .7rem;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(31,41,55,0.06);
}
.sd-list strong { display: block; font-size: .88rem; }
.modal-head [data-detail-back] { margin-right: .25rem; }

.alert-box {
  border-radius: 12px; padding: .85rem 1rem; font-size: .88rem; margin-bottom: 1rem;
  display: flex; gap: .65rem; align-items: flex-start;
}
.alert-box.info { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; }
.alert-box.warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.alert-box.ok { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }

.special-days-more {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px dashed var(--line);
}
.special-days-more[hidden] { display: none !important; }
.special-days-toggle-wrap {
  display: flex;
  justify-content: center;
  margin-top: .65rem;
}
.special-days-toggle {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink, #1f2937);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.special-days-toggle:hover {
  border-color: var(--brand);
  background: #fff7ed;
}
.special-days-toggle-ico {
  display: block;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  transition: transform .2s ease;
}
.msg-vars {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  margin-top: .55rem;
  padding: .55rem .65rem;
  background: #f8fafc;
  border: 1px dashed var(--line);
  border-radius: 10px;
}
.msg-vars-label {
  width: 100%;
  font-size: .72rem;
  color: var(--muted, #6b7280);
  margin-bottom: .1rem;
}
.msg-var-chip {
  appearance: none;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #0f172a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .72rem;
  line-height: 1.2;
  padding: .28rem .45rem;
  border-radius: 7px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.msg-var-chip:hover {
  border-color: var(--brand);
  background: #fff7ed;
  color: #9a3412;
}

.special-days {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  align-items: stretch;
  margin-bottom: 0;
}
.day-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .9rem .75rem;
  border-top: 3px solid var(--brand);
  text-align: center;
}
.day-card .ico {
  flex: 0 0 auto;
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: .4rem;
  height: 1.6rem;
}
.day-card-title {
  flex: 0 0 auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  font-size: .82rem;
  line-height: 1.25;
  min-height: calc(1.25em * 2);
  max-height: calc(1.25em * 2);
  margin: 0 0 .35rem;
  width: 100%;
}
.day-card-date,
.day-card-days {
  flex: 0 0 auto;
  margin: 0;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.day-card-date { margin-bottom: .15rem; }
.day-card-days { margin-bottom: .55rem; }
.day-card .btn { margin-top: auto; width: 100%; }

.week-grid {
  display: grid; gap: .5rem; grid-template-columns: 1fr;
  overflow-x: auto;
}
@media (min-width: 900px) {
  .week-grid { grid-template-columns: repeat(7, 1fr); }
}
.week-day {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .75rem; min-height: 140px;
}
.week-day h4 { font-size: .85rem; margin-bottom: .5rem; display: flex; justify-content: space-between; }
.week-add {
  border: 1.5px dashed var(--line-strong); border-radius: 10px; padding: .65rem;
  text-align: center; color: var(--ink-muted); font-size: .8rem; font-weight: 600;
  cursor: pointer; background: transparent; width: 100%;
}
.week-add:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
.week-session {
  background: var(--brand-soft); border-radius: 8px;
  padding: .45rem .55rem; margin-bottom: .35rem; font-size: .78rem;
}
.session-modal-body { max-height: min(72vh, 640px); overflow-y: auto; }

.wa-hero {
  background: linear-gradient(135deg, #128C7E, #25D366); color: #fff;
  border-radius: 18px; padding: 1.35rem 1.5rem; margin-bottom: 1rem;
}
.wa-hero h2 { color: #fff; margin: 0 0 .25rem; }

/* WhatsApp connection page */
.wa-business-warn {
  margin-bottom: 0;
  align-items: flex-start;
  line-height: 1.45;
}
.wa-business-warn strong {
  flex: 0 0 auto;
  font-weight: 800;
}
.wa-business-warn span { min-width: 0; }
.wa-page { display: grid; gap: 1rem; }
.wa-page.is-busy { opacity: .72; pointer-events: none; }
.wa-top {
  display: grid; gap: 1rem; align-items: stretch;
  min-width: 0;
}
.wa-top > * { min-width: 0; }
@media (min-width: 900px) {
  .wa-top { grid-template-columns: 1.15fr .85fr; }
}
.wa-panel-side {
  display: flex; align-items: center; justify-content: center;
  min-height: 100%;
  min-width: 0;
  opacity: 1;
  visibility: visible;
}
.wa-stage {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 1.35rem 1.35rem 1.2rem;
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,247,237,.88)),
    radial-gradient(ellipse at top right, rgba(37,211,102,.14), transparent 50%);
  box-shadow: var(--shadow);
  display: grid;
  gap: 1.1rem;
  place-content: center;
  justify-items: center;
  text-align: center;
  min-height: 100%;
}
.wa-stage-on {
  background:
    linear-gradient(145deg, rgba(236,253,245,.95), rgba(255,255,255,.95)),
    radial-gradient(ellipse at top right, rgba(16,185,129,.2), transparent 52%);
  border-color: rgba(16,185,129,.25);
}
.wa-stage-wait {
  background:
    linear-gradient(145deg, rgba(255,247,237,.96), #fff),
    radial-gradient(ellipse at top right, rgba(249,115,22,.18), transparent 55%);
}
.wa-stage-off {
  background:
    linear-gradient(145deg, #fff, rgba(248,250,252,.95)),
    radial-gradient(ellipse at top right, rgba(100,116,139,.1), transparent 55%);
}
.wa-stage-glow {
  position: absolute; inset: -40% -20% auto auto; width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(37,211,102,.22), transparent 68%);
  pointer-events: none;
}
.wa-stage-on .wa-stage-glow { background: radial-gradient(circle, rgba(16,185,129,.28), transparent 68%); }
.wa-stage-wait .wa-stage-glow { background: radial-gradient(circle, rgba(249,115,22,.25), transparent 68%); }
.wa-stage-main {
  position: relative;
  display: flex; flex-direction: column; gap: .85rem;
  align-items: center; justify-content: center;
  min-width: 0; text-align: center;
}
.wa-status-orb {
  width: 76px; height: 76px; flex-shrink: 0;
  display: grid; place-items: center; position: relative;
}
.wa-orb-ring {
  position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid rgba(37,211,102,.35);
}
.wa-orb-on .wa-orb-ring {
  border-color: rgba(16,185,129,.55);
  animation: wa-pulse 2.2s var(--ease) infinite;
}
.wa-orb-wait .wa-orb-ring {
  border-color: rgba(249,115,22,.5);
  animation: wa-pulse 1.4s var(--ease) infinite;
}
.wa-orb-off .wa-orb-ring { border-color: rgba(100,116,139,.3); }
.wa-orb-core {
  width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #25D366, #128C7E);
  color: #fff; box-shadow: 0 10px 24px rgba(18,140,126,.28);
}
.wa-orb-avatar {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.wa-orb-initials {
  font-size: .95rem; font-weight: 800; letter-spacing: .02em; line-height: 1;
}
.wa-orb-off .wa-orb-core {
  background: linear-gradient(145deg, #94a3b8, #64748b);
  box-shadow: none;
}
.wa-orb-wait .wa-orb-core {
  background: linear-gradient(145deg, #fb923c, #f97316);
  box-shadow: 0 10px 24px rgba(249,115,22,.28);
}
@keyframes wa-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.12); opacity: .55; }
}
.wa-stage-copy { min-width: 0; text-align: center; }
.wa-kicker {
  font-size: .72rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--ink-muted); margin: 0 0 .25rem;
}
.wa-stage-copy h3 {
  font-family: var(--display); font-size: 1.55rem; font-weight: 800;
  margin: 0 0 .25rem; color: var(--ink);
}
.wa-stage-copy > p { margin: 0; color: var(--ink-soft); font-size: .92rem; }
.wa-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; justify-content: center; }
.wa-pill {
  display: inline-flex; align-items: center;
  padding: .28rem .65rem; border-radius: 999px;
  background: rgba(255,255,255,.75); border: 1px solid var(--line);
  font-size: .78rem; font-weight: 600; color: var(--ink);
}
.wa-pill.muted { color: var(--ink-muted); font-weight: 500; }
.wa-actions {
  position: relative;
  display: flex; flex-wrap: wrap; gap: .45rem;
  align-items: center; justify-content: center;
  width: 100%;
}
.wa-inline-form { display: inline; margin: 0; }
.wa-btn-danger { color: var(--danger) !important; }
.wa-btn-danger:hover { background: var(--danger-soft) !important; }

.wa-grid {
  display: grid; gap: 1rem;
}
@media (min-width: 900px) {
  .wa-grid { grid-template-columns: 1.15fr .85fr; align-items: start; }
}
.wa-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 18px;
  padding: 1.15rem; box-shadow: var(--shadow);
}
.wa-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; margin-bottom: .75rem;
}
.wa-panel-head h4,
.wa-connected-card h4,
.wa-qr-card h4,
.wa-empty-card h4 {
  font-family: var(--display); font-size: 1.05rem; font-weight: 800; margin: 0 0 .35rem;
}
.wa-connected-card,
.wa-qr-card,
.wa-empty-card { text-align: center; }
.wa-connected-card > p,
.wa-qr-card > p,
.wa-empty-card > p {
  color: var(--ink-soft); font-size: .9rem; margin: 0 0 .85rem;
}
.wa-profile {
  display: flex; flex-direction: column; align-items: center; gap: .7rem;
  margin-bottom: .85rem;
}
.wa-profile-avatar {
  width: 88px; height: 88px; border-radius: 50%;
  object-fit: cover; display: block;
  border: 3px solid rgba(37,211,102,.35);
  box-shadow: 0 8px 20px rgba(18,140,126,.18);
  background: #e2e8f0;
}
.wa-profile-fallback {
  display: grid; place-items: center;
  background: linear-gradient(145deg, #25D366, #128C7E);
  color: #fff; font-weight: 800; font-size: 1.35rem;
  letter-spacing: .02em;
}
.wa-profile-copy { min-width: 0; }
.wa-profile-copy h4 {
  margin: 0 0 .2rem;
  font-family: var(--display); font-size: 1.15rem; font-weight: 800;
}
.wa-profile-phone {
  margin: 0; font-size: .95rem; font-weight: 700; color: var(--ink);
}
.wa-profile-status {
  margin: .25rem 0 0; font-size: .82rem; color: var(--ink-muted);
  max-width: 280px; margin-inline: auto;
}
.wa-check {
  width: 56px; height: 56px; margin: 0 auto .75rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--success-soft); color: var(--success);
}
.wa-empty-ico {
  width: 56px; height: 56px; margin: 0 auto .75rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--bg-soft); color: var(--ink-muted);
}
.wa-steps {
  text-align: left;
  margin: 0 auto 1rem;
  padding-left: 1.15rem;
  max-width: 320px;
  color: var(--ink-soft);
  font-size: .88rem;
  display: grid; gap: .35rem;
}
.wa-qr-frame {
  width: min(100%, 260px);
  margin: 0 auto 1rem;
  padding: .85rem;
  border-radius: 20px;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #25D366, #f97316, #128C7E) border-box;
  border: 2px solid transparent;
  box-shadow: 0 12px 32px rgba(18,140,126,.12);
  animation: wa-qr-in .45s var(--ease) both;
}
.wa-qr-frame img {
  width: 100%; height: auto; display: block; border-radius: 12px;
}
@keyframes wa-qr-in {
  from { opacity: 0; transform: translateY(10px) scale(.96); }
  to { opacity: 1; transform: none; }
}
.wa-qr-hint { margin-top: .5rem; color: var(--ink-muted); }

.wa-side { display: grid; gap: .85rem; }
.wa-stat-row {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem;
}
@media (min-width: 720px) {
  .wa-stat-row { grid-template-columns: repeat(4, 1fr); }
}
.wa-stat {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: .75rem .65rem; text-align: center; box-shadow: var(--shadow);
}
.wa-stat span {
  display: block; font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; color: var(--ink-muted);
}
.wa-stat strong {
  font-family: var(--display); font-size: 1.25rem; font-weight: 800;
}
.wa-log-panel { padding: 1rem; }
.wa-log-list {
  list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem;
  max-height: 360px; overflow-y: auto;
}
.wa-log-list li {
  border: 1px solid var(--line); border-radius: 12px; padding: .65rem .75rem;
  background: var(--bg);
}
.wa-log-list li.is-ok { border-left: 3px solid var(--success); }
.wa-log-list li.is-fail { border-left: 3px solid var(--danger); }
.wa-log-top {
  display: flex; justify-content: space-between; gap: .5rem;
  align-items: baseline; margin-bottom: .2rem;
}
.wa-log-top strong { font-size: .86rem; }
.wa-log-top span { font-size: .72rem; font-weight: 700; color: var(--ink-muted); }
.wa-log-list p {
  margin: 0; font-size: .8rem; color: var(--ink-soft);
  line-height: 1.35;
}
.wa-log-empty {
  text-align: center; color: var(--ink-muted); font-size: .88rem;
  border-style: dashed !important;
}
.pager {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: .35rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--line);
}
.pager-num {
  min-width: 2rem; height: 2rem; padding: 0 .45rem;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px; border: 1px solid var(--line); background: var(--surface, #fff);
  color: var(--ink); font-size: .82rem; font-weight: 700; text-decoration: none;
}
.pager-num:hover { border-color: var(--accent, #f97316); color: var(--accent, #f97316); }
.pager-num.is-active {
  background: var(--accent, #f97316); border-color: var(--accent, #f97316); color: #fff;
}
.pager-gap { color: var(--ink-muted); font-weight: 700; padding: 0 .15rem; }
.pager-meta { margin-left: .35rem; }
.table-client-pager { margin-top: .75rem; }
.table-client-pager .pager-num {
  cursor: pointer;
  font: inherit;
}
.table-client-pager .pager-num:disabled,
.table-client-pager .pager-num.is-disabled {
  opacity: .4;
  pointer-events: none;
  cursor: default;
}
.btn.is-disabled { opacity: .45; pointer-events: none; }
@media (max-width: 640px) {
  .wa-actions .btn { flex: 1 1 calc(50% - .3rem); justify-content: center; min-width: 0; }
  .wa-stage { padding: 1.1rem .9rem 1rem; border-radius: 18px; }
  .wa-panel { padding: .95rem; border-radius: 16px; }
  .wa-qr-frame {
    width: min(100%, 220px);
    margin-inline: auto;
  }
  .wa-qr-frame img { width: 100%; height: auto; }
  .wa-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wa-log-card { overflow: hidden; min-width: 0; }
  .wa-log-card .table-wrap {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .wa-page .page-intro-compact {
    flex-direction: column;
    align-items: stretch;
  }
  .wa-page .page-intro-actions {
    width: 100%;
  }
  .wa-page .page-intro-actions .btn {
    flex: 1 1 auto;
  }
}

/* Platform WhatsApp (admin) */
.pla-wa .pla-section {
  background: var(--surface, #fff);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1.1rem 1.15rem 1.25rem;
  box-shadow: var(--shadow);
}
.pla-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.pla-section-head h3 {
  margin: .15rem 0 .25rem;
  font-size: 1.15rem;
}
.pla-collapse > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.pla-collapse > summary::-webkit-details-marker { display: none; }
.pla-collapse-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: -.15rem 0 0;
}
.pla-collapse-copy h3 {
  margin: .15rem 0 .25rem;
  font-size: 1.15rem;
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.pla-collapse-summary::after {
  content: '';
  flex-shrink: 0;
  width: .55rem;
  height: .55rem;
  margin-top: .55rem;
  border-right: 2px solid var(--ink-muted);
  border-bottom: 2px solid var(--ink-muted);
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.pla-collapse[open] > .pla-collapse-summary {
  margin-bottom: .85rem;
  padding-bottom: .85rem;
  border-bottom: 1px dashed var(--line);
}
.pla-collapse[open] > .pla-collapse-summary::after {
  transform: rotate(-135deg);
  margin-top: .75rem;
}
.pla-collapse-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: .85rem;
}
.pla-collapse-body {
  animation: plaCollapseIn .2s ease;
}
@keyframes plaCollapseIn {
  from { opacity: .4; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}
.pla-day-grid {
  display: grid;
  gap: .7rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .pla-day-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .pla-day-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pla-day {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  text-align: left;
  width: 100%;
  padding: .85rem .9rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, #fff 0%, var(--bg-soft, #f8fafc) 100%);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  font: inherit;
  color: inherit;
}
.pla-day.is-disabled {
  opacity: .72;
  filter: grayscale(.25);
}
.pla-day.is-disabled .pla-day-body strong .badge {
  vertical-align: middle;
}
.pla-day:hover {
  transform: translateY(-2px);
  border-color: rgba(249, 115, 22, .45);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.pla-day-main {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .75rem;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}
.pla-day-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  padding-top: .15rem;
  border-top: 1px dashed var(--line);
}
.pla-day-actions form { margin: 0; }
.pla-day-del { color: #b91c1c !important; }
.pla-day-mark {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .02em;
  color: #fff;
  background: #f97316;
}
.pla-day.tone-mint .pla-day-mark { background: #0d9488; }
.pla-day.tone-blue .pla-day-mark { background: #2563eb; }
.pla-day.tone-gold .pla-day-mark { background: #d97706; }
.pla-day.tone-slate .pla-day-mark { background: #475569; }
.pla-day-body {
  display: grid;
  gap: .15rem;
  min-width: 0;
}
.pla-day-body strong {
  font-size: .92rem;
  line-height: 1.25;
}
.pla-day-body em {
  font-style: normal;
  font-size: .75rem;
  font-weight: 700;
  color: var(--accent, #f97316);
}
.pla-day-body span {
  font-size: .78rem;
  color: var(--ink-muted);
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.pla-day-go {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink-muted);
  transition: transform .18s ease, color .18s ease;
}
.pla-day:hover .pla-day-go {
  color: var(--accent, #f97316);
  transform: translateX(3px);
}
.pla-empty {
  text-align: center;
  padding: 2rem 1rem;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: var(--bg-soft, #f8fafc);
  display: grid;
  gap: .35rem;
  justify-items: center;
}
.pla-empty-ico {
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(37, 211, 102, .12);
  color: #128c7e;
  margin-bottom: .25rem;
}
.pla-empty strong { font-size: 1rem; }
.pla-empty span { color: var(--ink-muted); font-size: .88rem; }
.pla-log {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.pla-log li {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .8rem .9rem;
  background: linear-gradient(180deg, #fff, var(--bg-soft, #f8fafc));
}
.pla-log li.is-ok { border-left: 3px solid var(--success, #10b981); }
.pla-log li.is-fail { border-left: 3px solid var(--danger, #ef4444); }
.pla-log-top {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  align-items: baseline;
  margin-bottom: .25rem;
}
.pla-log-top strong { font-size: .9rem; }
.pla-log-top span { font-size: .72rem; color: var(--ink-muted); font-weight: 600; }
.pla-log p {
  margin: 0 0 .45rem;
  font-size: .82rem;
  color: var(--ink-soft);
  line-height: 1.4;
}
.pla-log-meta { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.pla-send-banner {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .85rem 1rem;
  border-radius: 12px;
  margin-bottom: 1rem;
  background: linear-gradient(120deg, rgba(37, 211, 102, .12), rgba(249, 115, 22, .08));
  border: 1px solid rgba(37, 211, 102, .2);
}
.pla-send-banner p { margin: .15rem 0 0; font-size: .85rem; color: var(--ink-muted); }
.pla-send-ico {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #25d366;
  color: #fff;
  flex-shrink: 0;
}
.pla-tpl-scroll { max-height: 65vh; overflow: auto; display: grid; gap: .85rem; }
.pla-tpl-block {
  padding: .75rem .85rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--bg-soft, #f8fafc);
}
.pla-tpl-label {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .45rem;
  align-items: baseline;
}
.pla-tpl-label strong { font-size: .92rem; }
.pla-tpl-label span { font-size: .75rem; font-weight: 700; color: var(--accent, #f97316); }
.pla-tpl-block.tone-mint { border-color: rgba(13, 148, 136, .25); }
.pla-tpl-block.tone-blue { border-color: rgba(37, 99, 235, .22); }
.pla-tpl-block.tone-gold { border-color: rgba(217, 119, 6, .28); }
.pla-compose-form { display: grid; gap: .15rem; }
.pla-compose-body {
  min-height: 11rem;
  font-size: .95rem;
  line-height: 1.45;
}
.pla-compose-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: .35rem;
}
.pla-tpl-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .pla-tpl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pla-compose {
  scroll-margin-top: 1rem;
}
#pla-templates-edit {
  scroll-margin-top: 1rem;
}
.pla-connect-grid {
  display: grid;
  gap: 1rem;
  align-items: stretch;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .pla-connect-grid { grid-template-columns: 1fr 1fr; }
}
.pla-qr-col {
  display: flex;
  min-height: 100%;
}
.pla-side-card {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.25rem 1.15rem;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: var(--surface, #fff);
  box-shadow: var(--shadow);
}
.pla-stats-card .wa-stat-row {
  margin: 0;
}
.pla-stats-card .wa-stat {
  background: linear-gradient(180deg, #fff, var(--bg-soft, #f8fafc));
}

.record-count {
  display: inline-flex; align-items: center; padding: .2rem .55rem; border-radius: 999px;
  background: var(--bg-soft); font-size: .75rem; font-weight: 700; color: var(--ink-soft);
}

.dash-grid {
  display: grid; gap: 1rem;
}
.dash-grid > * {
  min-width: 0; /* geni? tablo kart? ?i?irmesin; scroll table-wrap'te kals?n */
}
.dash-grid .card {
  overflow: hidden;
}
.dash-grid .table-wrap {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow-x: auto;
}
.dash-grid .dash-scroll-list {
  max-height: 22rem;
  overflow-y: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.dash-grid .dash-scroll-list thead th {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--bg-elevated);
  box-shadow: 0 1px 0 var(--line);
}
.dash-grid .dash-scroll-list tbody tr,
.dash-grid .dash-scroll-list tbody tr:hover,
.dash-grid .dash-scroll-list tbody tr:focus-within {
  z-index: 0;
}
.dash-grid table.data {
  min-width: 0;
  width: 100%;
}
.dash-grid .dash-ops-table {
  table-layout: fixed;
  width: 100%;
  min-width: 0;
  font-size: .75rem;
}
.dash-grid .dash-ops-table th,
.dash-grid .dash-ops-table td {
  overflow: visible;
  vertical-align: middle;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
  padding: .5rem .4rem;
  line-height: 1.25;
}
.dash-grid .dash-ops-table th {
  font-size: .65rem;
}
.dash-grid .dash-ops-table th:nth-child(1),
.dash-grid .dash-ops-table td:nth-child(1) { width: 28%; }
.dash-grid .dash-ops-table th:nth-child(2),
.dash-grid .dash-ops-table td:nth-child(2) { width: 36%; }
.dash-grid .dash-ops-table th:nth-child(3),
.dash-grid .dash-ops-table td:nth-child(3) { width: 18%; }
.dash-grid .dash-ops-table th:nth-child(4),
.dash-grid .dash-ops-table td:nth-child(4) { width: 18%; }
.dash-grid .dash-ops-table .profile-chip {
  display: flex;
  max-width: 100%;
  min-width: 0;
  width: 100%;
  align-items: flex-start;
  gap: .35rem;
}
.dash-grid .dash-ops-table .profile-chip-img {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0;
}
.dash-grid .dash-ops-table .profile-chip-text {
  display: flex !important;
  flex-direction: column;
  gap: .05rem;
  min-width: 0;
  flex: 1 1 auto;
}
.dash-grid .dash-ops-table .profile-chip-name {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-size: .74rem !important;
  line-height: 1.25 !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}
.dash-grid .dash-ops-table .profile-chip-sub {
  display: block !important;
  font-size: .65rem !important;
  font-weight: 600 !important;
  color: var(--ink-muted, #64748b) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-op-title {
  display: block;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  font-weight: 700;
  font-size: .74rem;
  line-height: 1.25;
}
.dash-op-meta {
  display: block;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  font-size: .65rem;
  color: var(--ink-muted);
  line-height: 1.25;
  margin-top: .1rem;
  font-weight: 500;
}
.dash-grid .dash-ops-table .dash-num {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: normal;
  word-break: keep-all;
  font-size: .74rem;
}
.dash-grid .dash-ops-table .dash-date {
  font-size: .68rem;
  color: var(--ink-muted);
  white-space: normal;
  word-break: keep-all;
}
.dash-grid table.data th,
.dash-grid table.data td {
  white-space: normal;
}
.dash-grid .dash-scroll-list .profile-chip {
  align-items: flex-start;
  max-width: 100%;
  flex-wrap: nowrap;
  min-width: 0;
}
.dash-grid .dash-scroll-list .profile-chip-name,
.dash-grid .dash-scroll-list .name-2line {
  white-space: normal !important;
  display: block !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none;
  line-height: 1.25;
  max-width: 100% !important;
  font-size: .74rem !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}
.dash-grid .name-2line,
.dash-grid .profile-chip-name {
  white-space: normal;
  display: block;
  overflow: visible;
  text-overflow: clip;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
  line-height: 1.25;
  max-width: 100%;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}
.dash-grid .profile-chip {
  align-items: flex-start;
  max-width: 100%;
  min-width: 0;
}
.dash-grid .co-cell-text {
  min-width: 0;
  flex: 1;
}
.dash-grid .co-cell-text .name-full {
  max-width: none !important;
}
@media (min-width: 960px) {
  .dash-grid { grid-template-columns: 1.4fr 1fr; }
}
.card > .table-wrap {
  max-width: 100%;
}
.comm-grid {
  display: grid; gap: 1rem; margin-bottom: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 960px) {
  .comm-grid { grid-template-columns: 1.15fr .85fr; align-items: start; }
}
.comm-col { min-width: 0; margin-bottom: 0; }
.comm-col .table-wrap { max-height: 520px; overflow: auto; }
table.data.data-clickable tbody tr.is-clickable { cursor: pointer; }
table.data.data-clickable tbody tr.is-clickable:hover { background: var(--brand-soft); }
.msg-detail-status { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.msg-detail-grid {
  display: grid; gap: .75rem;
  grid-template-columns: 1fr 1fr;
}
.msg-detail-grid strong { display: block; margin-top: .15rem; font-size: .92rem; }
.msg-detail-body {
  background: #f8fafc; border: 1px solid var(--line); border-radius: 12px;
  padding: .85rem 1rem; white-space: pre-wrap; font-size: .9rem; line-height: 1.5;
  max-height: min(52vh, 420px); overflow: auto;
  word-break: break-word;
}
.msg-detail-body a {
  color: var(--brand-dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}
.mini-bar {
  display: flex; align-items: flex-end; gap: .65rem; height: 140px; padding: .5rem 0;
}
.mini-bar .bar {
  flex: 1; background: linear-gradient(180deg, #fb923c, #f97316); border-radius: 8px 8px 4px 4px;
  min-height: 8px; position: relative;
}
.mini-bar .bar span {
  position: absolute; top: -1.3rem; left: 50%; transform: translateX(-50%);
  font-size: .65rem; font-weight: 700; white-space: nowrap;
}
.mini-bar .lbl { text-align: center; font-size: .7rem; color: var(--ink-muted); margin-top: .35rem; }

.btn-gold {
  background: linear-gradient(135deg, #f59e0b, #f97316); color: #fff;
  box-shadow: 0 6px 16px rgba(249,115,22,.25);
}
.btn-gold:hover { filter: brightness(1.05); color: #fff; }

/* Randevu-style hub shell (Aidatla orange) */
.page-intro {
  margin: .15rem 0 1.15rem;
  padding: 1.15rem 1.2rem;
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.94), rgba(255,255,255,0.78)),
    radial-gradient(ellipse at top right, rgba(249,115,22,0.14), transparent 55%);
  border: 1px solid rgba(31,41,55,0.07);
  box-shadow: 0 10px 30px rgba(31,41,55,0.04);
}
.page-intro-compact {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.15rem;
}
.page-intro-compact h2 { margin-bottom: .2rem; }
.page-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.page-intro .eyebrow {
  display: inline-block;
  margin: 0 0 .35rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--brand-dark);
}
.page-intro h2 {
  margin: 0 0 .35rem;
  font-family: var(--display);
  font-size: clamp(1.25rem, 3.5vw, 1.65rem);
  letter-spacing: -0.03em;
}
.page-intro .lead {
  margin: 0;
  color: var(--ink-muted);
  font-size: .9rem;
  max-width: 40rem;
  line-height: 1.45;
}

/* Sayfa ?st bilgilendirme (verili brief) */
.page-brief {
  margin: .15rem 0 1.15rem;
  padding: 1.15rem 1.2rem 1.2rem;
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff 0%, #fff7ed 55%, #ffedd5 100%);
  border: 1px solid rgba(249, 115, 22, 0.22);
  box-shadow: 0 12px 32px rgba(249, 115, 22, 0.1);
}
.page-brief-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .85rem;
  flex-wrap: wrap;
}
.page-brief-copy { min-width: 0; flex: 1; }
.page-brief .eyebrow {
  display: inline-block;
  margin: 0 0 .3rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--brand-dark);
}
.page-brief h2 {
  margin: 0 0 .3rem;
  font-family: var(--display);
  font-size: clamp(1.3rem, 3.8vw, 1.75rem);
  letter-spacing: -0.03em;
  color: #1f2937;
}
.page-brief .lead {
  margin: 0;
  color: #4b5563;
  font-size: .92rem;
  max-width: 42rem;
  line-height: 1.45;
}
.page-brief-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
/* Turuncu brief zeminde ghost/soft kaybolmasın */
.page-brief-actions .btn-ghost {
  background: #fff;
  border-color: rgba(31, 41, 55, 0.16);
  color: #1f2937;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.page-brief-actions .btn-ghost:hover {
  background: #f8fafc;
  border-color: rgba(31, 41, 55, 0.28);
}
.page-brief-actions .btn-soft {
  background: #fff;
  border-color: rgba(249, 115, 22, 0.4);
  color: #c2410c;
  box-shadow: 0 2px 8px rgba(249, 115, 22, 0.12);
}
.page-brief-actions .btn-soft:hover {
  background: #fff7ed;
  border-color: rgba(249, 115, 22, 0.55);
  color: #9a3412;
}
.page-brief-actions .btn-gold {
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35);
}
.page-brief-metrics {
  display: grid;
  gap: .6rem;
  margin-top: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .page-brief-metrics {
    grid-template-columns: repeat(var(--brief-cols, 4), minmax(0, 1fr));
  }
}
.page-brief-metric {
  background: #fff;
  border: 1px solid rgba(31,41,55,0.08);
  border-radius: 14px;
  padding: .85rem .9rem;
  min-width: 0;
  border-left: 4px solid #94a3b8;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.page-brief-metric span {
  display: block;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: .25rem;
}
.page-brief-metric strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(1.2rem, 3vw, 1.55rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #111827;
  word-break: break-word;
}
.page-brief-metric em {
  display: block;
  margin-top: .25rem;
  font-style: normal;
  font-size: .72rem;
  font-weight: 600;
  color: #6b7280;
}
.page-brief-metric.tone-orange { border-left-color: #f97316; background: #fff7ed; }
.page-brief-metric.tone-orange strong { color: #c2410c; }
.page-brief-metric.tone-green { border-left-color: #059669; background: #ecfdf5; }
.page-brief-metric.tone-green strong { color: #047857; }
.page-brief-metric.tone-red { border-left-color: #dc2626; background: #fef2f2; }
.page-brief-metric.tone-red strong { color: #b91c1c; }
.page-brief-metric.tone-blue { border-left-color: #0284c7; background: #f0f9ff; }
.page-brief-metric.tone-blue strong { color: #0369a1; }
.page-brief-metric.tone-gold { border-left-color: #d97706; background: #fffbeb; }
.page-brief-metric.tone-gold strong { color: #b45309; }
.page-brief-metric.tone-slate { border-left-color: #64748b; background: #f8fafc; }
@media (max-width: 639px) {
  .page-brief { padding: 1rem; }
  .page-brief-actions { width: 100%; }
  .page-brief-actions .btn { flex: 1 1 auto; justify-content: center; }
}

.page-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: .35rem;
  margin: 0 0 1rem;
  padding: .45rem;
  background: #fff;
  border: 1px solid rgba(31,41,55,0.07);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(31,41,55,0.04);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.page-tabs::-webkit-scrollbar { display: none; }
.page-tabs-grouped {
  position: relative;
  z-index: 5;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: .15rem .25rem;
  padding: .4rem .5rem;
  overflow: visible;
}
.page-tabs-grouped::-webkit-scrollbar { display: none; }
.page-tabs-sep {
  flex: 0 0 auto;
  color: #cbd5e1;
  font-size: .95rem;
  font-weight: 300;
  line-height: 1;
  padding: 0 .2rem;
  user-select: none;
  pointer-events: none;
}
.page-tabs-dd {
  position: relative;
  flex: 0 0 auto;
}
.page-tab-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  opacity: .88;
}
.page-tab-ico svg {
  display: block;
  width: 100%;
  height: 100%;
}
.page-tabs-dd-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 40px;
  padding: .55rem .8rem;
  border: 0;
  border-radius: 11px;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
  color: var(--ink-muted);
  text-decoration: none;
  white-space: nowrap;
  background: transparent;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
.page-tabs-dd-trigger::after {
  content: '';
  width: .35rem;
  height: .35rem;
  margin-top: -.1rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: .55;
  flex: 0 0 auto;
}
a.page-tabs-dd-trigger::after,
button.page-tabs-dd-trigger.is-feature-locked::after {
  display: none;
}
.page-tabs-dd-trigger:hover {
  background: rgba(249,115,22,0.1);
  color: var(--brand-dark);
}
.page-tabs-dd-trigger.is-active,
.page-tabs-dd.is-active-group > .page-tabs-dd-trigger {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 16px rgba(249,115,22,0.28);
}
.page-tabs-dd-menu {
  position: absolute;
  top: calc(100% + .28rem);
  left: 0;
  right: auto;
  z-index: 40;
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 11.5rem;
  max-width: min(18rem, calc(100vw - 1rem));
  padding: .4rem;
  background: #fff;
  border: 1px solid rgba(31,41,55,0.1);
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.page-tabs-dd-menu.is-align-end {
  left: auto;
  right: 0;
}
.page-tabs-dd:hover > .page-tabs-dd-menu,
.page-tabs-dd:focus-within > .page-tabs-dd-menu,
.page-tabs-dd.is-open > .page-tabs-dd-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.page-tabs-dd-item {
  gap: .45rem;
  width: 100%;
  min-height: 38px;
  border-radius: 10px;
}
.page-tabs-dd-item .page-tab-ico {
  opacity: .75;
}
.page-tab.is-active .page-tab-ico,
.page-tabs-dd-trigger.is-active .page-tab-ico {
  opacity: 1;
}
.page-tabs-dd-item.is-active {
  box-shadow: none;
}
.page-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 40px;
  padding: .55rem .85rem;
  border: 0;
  border-radius: 11px;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
  color: var(--ink-muted);
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
  background: transparent;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.page-tab.page-tabs-dd-item {
  justify-content: flex-start;
  text-align: left;
}
.page-tab:hover { background: rgba(249,115,22,0.1); color: var(--brand-dark); }
.page-tab.is-active {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 16px rgba(249,115,22,0.28);
}
.page-tab.is-feature-locked {
  opacity: .55;
  cursor: not-allowed;
}
.page-tab.is-feature-locked:hover {
  background: rgba(15, 23, 42, 0.06);
  color: var(--ink-muted);
}
@media (max-width: 719px) {
  .page-tabs-grouped {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .15rem .1rem;
    padding: .28rem .3rem;
    align-items: stretch;
  }
  .page-tabs-sep {
    display: none;
  }
  .page-tabs-dd,
  .page-tabs-grouped > .page-tabs-dd-trigger {
    width: 100%;
    min-width: 0;
  }
  .page-tabs-dd-trigger {
    width: 100%;
    min-height: 34px;
    padding: .28rem .18rem;
    gap: .18rem;
    font-size: clamp(.58rem, 2.65vw, .68rem);
    line-height: 1.12;
    white-space: normal;
    text-align: center;
    border-radius: 9px;
  }
  .page-tabs-dd-trigger .page-tab-ico {
    width: .8rem;
    height: .8rem;
  }
  .page-tabs-dd-trigger::after {
    width: .26rem;
    height: .26rem;
    margin-top: -.05rem;
  }
  .page-tabs-dd-menu {
    left: 0;
    right: auto;
    min-width: max(100%, 10.5rem);
    max-width: min(16rem, calc(100vw - 1rem));
  }
  .page-tabs-dd-menu.is-align-end {
    left: auto;
    right: 0;
  }
}
@media (min-width: 720px) {
  .page-tabs {
    flex-wrap: wrap;
    padding: .35rem;
    background: rgba(255,255,255,0.72);
    box-shadow: none;
    overflow: visible;
  }
  .page-tabs-grouped {
    overflow: visible;
    padding: .35rem .45rem;
    background: rgba(255,255,255,0.72);
    box-shadow: none;
  }
  .page-tabs-dd-trigger,
  .page-tab {
    padding: .55rem .9rem;
    font-size: .82rem;
  }
}
@media (hover: none) {
  .page-tabs-dd:hover > .page-tabs-dd-menu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-4px);
  }
  .page-tabs-dd.is-open > .page-tabs-dd-menu,
  .page-tabs-dd:focus-within > .page-tabs-dd-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

.app-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin: 1.25rem 0 .75rem;
  padding-bottom: .7rem;
  border-bottom: 1px solid #eef1f4;
  flex-wrap: wrap;
}
.app-section-head:first-of-type { margin-top: .35rem; }
.app-section-head h3 {
  margin: 0;
  font-size: .95rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.settings-group { margin-bottom: .5rem; }
.settings-group-lead {
  margin: .25rem 0 0;
  font-size: .8rem;
  color: var(--ink-soft, #64748b);
  line-height: 1.4;
  font-weight: 500;
}
.settings-group .hub-grid { margin-bottom: .15rem; }

.hub-grid {
  display: grid;
  gap: .75rem;
  margin-bottom: .35rem;
}
@media (min-width: 720px) {
  .hub-grid { grid-template-columns: repeat(2, 1fr); }
}
.hub-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .85rem;
  align-items: center;
  padding: 1rem 1.05rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(31,41,55,0.07);
  box-shadow: 0 8px 24px rgba(31,41,55,0.04);
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
button.hub-card {
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
}
.hub-card:hover {
  transform: translateY(-2px);
  border-color: rgba(249, 115, 22, .28);
  box-shadow: 0 14px 32px rgba(31,41,55,0.08);
  color: inherit;
}
.hub-card-ico {
  width: 44px; height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #ffedd5;
  color: var(--brand-dark);
  font-size: .9rem;
  font-weight: 800;
  flex-shrink: 0;
}
.hub-card-body {
  display: grid;
  gap: .15rem;
  min-width: 0;
}
.hub-card-body strong {
  font-size: .98rem;
  letter-spacing: -0.02em;
}
.hub-card-body span {
  font-size: .8rem;
  color: #6b7280;
  line-height: 1.35;
}
.hub-card-body em {
  font-style: normal;
  font-size: .72rem;
  font-weight: 700;
  color: var(--brand-dark);
}
.hub-card-arrow {
  color: #9ca3af;
  font-size: 1.05rem;
}
.hub-card.is-feature-locked {
  opacity: .72;
  border-style: dashed;
  cursor: pointer;
}
.hub-card.is-feature-locked:hover {
  opacity: 1;
  border-color: #fdba74;
  background: #fff7ed;
}

/* S?per admin ? bildirim ayarlar? */
.notif-settings-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .85rem 1rem;
  margin-bottom: 1rem;
}
.notif-settings-toolbar-text {
  min-width: 0;
  flex: 1 1 14rem;
}
.notif-settings-toolbar-text strong {
  display: block;
  font-size: 1rem;
  letter-spacing: -0.02em;
}
.notif-settings-toolbar-text p {
  margin: .3rem 0 0;
}
.notif-settings-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
/* Online ?deme ayarlar? ? 2 kolon */
.online-pay-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  margin-bottom: 1rem;
}
@media (min-width: 860px) {
  .online-pay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.online-pay-card {
  margin: 0;
  min-width: 0;
  height: 100%;
}
.bank-accounts-list {
  display: grid;
  gap: .85rem;
  margin-bottom: .75rem;
}
.bank-account-block {
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg-soft, #f8fafc);
}
.bank-account-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .65rem;
}
.bank-account-head strong {
  font-size: .88rem;
}
.bank-accounts-actions {
  display: flex;
  justify-content: flex-start;
}
.online-pay-foot {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  margin-bottom: 1rem;
}

.notif-settings-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: 1fr;
  margin-bottom: 1rem;
}
@media (min-width: 720px) {
  .notif-settings-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1100px) {
  .notif-settings-grid { grid-template-columns: repeat(3, 1fr); }
}
.notif-group-card {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: .9rem 1rem 1rem;
}
.notif-group-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem;
  margin-bottom: .75rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--line);
}
.notif-group-head h3 {
  margin: 0;
  font-size: .98rem;
  letter-spacing: -0.02em;
}
.notif-group-head-actions {
  display: flex;
  gap: .25rem;
  flex-shrink: 0;
}
.notif-toggle-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
  flex: 1;
}
.notif-toggle-item {
  margin: 0;
}
.notif-toggle-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .7rem;
  align-items: flex-start;
  margin: 0;
  padding: .55rem .6rem;
  border-radius: 12px;
  cursor: pointer;
  transition: background .15s ease;
}
.notif-toggle-row:hover {
  background: rgba(31, 41, 55, 0.035);
}
.notif-toggle-switch {
  position: relative;
  display: inline-flex;
  width: 2.4rem;
  height: 1.35rem;
  flex-shrink: 0;
  margin-top: .12rem;
}
.notif-toggle-switch input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 1;
}
.notif-toggle-ui {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: #d1d5db;
  transition: background .18s ease;
  pointer-events: none;
}
.notif-toggle-ui::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.35rem - 4px);
  height: calc(1.35rem - 4px);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  transition: transform .18s ease;
}
.notif-toggle-switch input:checked + .notif-toggle-ui {
  background: #16a34a;
}
.notif-toggle-switch input:checked + .notif-toggle-ui::after {
  transform: translateX(1.05rem);
}
.notif-toggle-switch input:focus-visible + .notif-toggle-ui {
  outline: 2px solid rgba(249, 115, 22, .55);
  outline-offset: 2px;
}

/* Genel platform toggle (ayarlar / formlar) */
.ui-toggle-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.ui-toggle {
  position: relative;
  display: inline-flex;
  width: 2.55rem;
  height: 1.45rem;
  flex-shrink: 0;
}
.ui-toggle input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 1;
}
.ui-toggle-ui {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: #d1d5db;
  transition: background .18s ease;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
}
.ui-toggle-ui::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.45rem - 4px);
  height: calc(1.45rem - 4px);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  transition: transform .18s ease;
}
.ui-toggle input:checked + .ui-toggle-ui {
  background: #16a34a;
}
.ui-toggle input:checked + .ui-toggle-ui::after {
  transform: translateX(1.1rem);
}
.ui-toggle input:focus-visible + .ui-toggle-ui {
  outline: 2px solid rgba(249, 115, 22, .55);
  outline-offset: 2px;
}
.ui-toggle input:disabled + .ui-toggle-ui {
  opacity: .55;
}
.ui-toggle-label {
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink, #1f2937);
}
.ui-toggle-hint {
  margin: .35rem 0 0;
  padding-left: calc(2.55rem + .75rem);
}

/* Platform geneli: d?z checkbox ? toggle switch */
input[type="checkbox"]:not([hidden]):not(.no-ui-toggle) {
  -webkit-appearance: none;
  appearance: none;
  width: 2.55rem;
  height: 1.45rem;
  margin: 0 .35rem 0 0;
  padding: 0;
  flex-shrink: 0;
  vertical-align: middle;
  border: 0;
  border-radius: 999px;
  background: #d1d5db;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
  cursor: pointer;
  position: relative;
  display: inline-block;
  transition: background .18s ease;
}
input[type="checkbox"]:not([hidden]):not(.no-ui-toggle)::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.45rem - 4px);
  height: calc(1.45rem - 4px);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  transition: transform .18s ease;
}
input[type="checkbox"]:not([hidden]):not(.no-ui-toggle):checked {
  background: #16a34a;
}
input[type="checkbox"]:not([hidden]):not(.no-ui-toggle):checked::after {
  transform: translateX(1.1rem);
}
input[type="checkbox"]:not([hidden]):not(.no-ui-toggle):focus-visible {
  outline: 2px solid rgba(249, 115, 22, .55);
  outline-offset: 2px;
}
input[type="checkbox"]:not([hidden]):not(.no-ui-toggle):disabled {
  opacity: .55;
  cursor: not-allowed;
}
label:has(> input[type="checkbox"]:not([hidden]):not(.no-ui-toggle)),
label:has(> input[type="checkbox"]:not([hidden]):not(.no-ui-toggle) + *) {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  cursor: pointer;
  user-select: none;
}

/* ?zel chip / haz?r switch: global toggle?? ez */
.ui-toggle input[type="checkbox"],
.notif-toggle-switch input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  inset: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  display: block !important;
}
.ui-toggle input[type="checkbox"]::after,
.notif-toggle-switch input[type="checkbox"]::after {
  content: none !important;
  display: none !important;
}
.day-chip > input[type="checkbox"],
.size-chip > input[type="checkbox"],
.push-person-card > input[type="checkbox"],
.push-person-card > input[type="radio"],
.stmt-multi-card > input[type="checkbox"],
.month-chip > input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: block !important;
  flex: none !important;
}
.day-chip > input[type="checkbox"]::after,
.size-chip > input[type="checkbox"]::after,
.push-person-card > input[type="checkbox"]::after,
.push-person-card > input[type="radio"]::after,
.stmt-multi-card > input[type="checkbox"]::after,
.month-chip > input[type="checkbox"]::after {
  content: none !important;
  display: none !important;
}
label.stmt-multi-card,
label.stmt-multi-card:has(> input[type="checkbox"]),
label.month-chip,
label.month-chip:has(> input[type="checkbox"]) {
  display: flex !important;
  gap: inherit;
  user-select: none;
}
.pkg-feature-row input[type="checkbox"] {
  width: 2.55rem !important;
  height: 1.45rem !important;
  margin-top: 0 !important;
  accent-color: unset;
}

/* ??renci atama se?ici */
.entity-picker {
  width: 100%;
}
.entity-picker-trigger {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .65rem .85rem;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.entity-picker-trigger:hover {
  border-color: rgba(249, 115, 22, .45);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .08);
}
.entity-picker-avatars {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-height: 2rem;
}
.entity-picker-avatars img {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  margin-left: -.45rem;
  background: #FFF0E6;
}
.entity-picker-avatars img:first-child {
  margin-left: 0;
}
.entity-picker-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-left: -.35rem;
  border-radius: 50%;
  background: #f3f4f6;
  font-size: .7rem;
  font-weight: 700;
  color: #6b7280;
  border: 2px solid #fff;
}
.entity-picker-text {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: .1rem;
}
.entity-picker-text strong {
  font-size: .9rem;
  font-weight: 700;
  color: var(--ink, #1f2937);
}
.entity-picker-text em {
  font-style: normal;
  font-size: .75rem;
  color: var(--ink-muted, #6b7280);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.entity-picker-cta {
  flex-shrink: 0;
  font-size: .78rem;
  font-weight: 700;
  color: #ea580c;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: #FFF0E6;
}
[data-ajax-region].is-ajax-loading,
[data-ajax-page].is-ajax-loading,
form.is-ajax-loading {
  opacity: 0.72;
  pointer-events: none;
  transition: opacity .15s ease;
}

.notif-toggle-meta {
  display: grid;
  gap: .15rem;
  min-width: 0;
}
.notif-toggle-meta strong {
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.3;
}
.notif-toggle-meta em {
  font-style: normal;
  font-size: .72rem;
  color: var(--ink-muted);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.notif-settings-footer {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  padding: .25rem 0 1rem;
}

/* Firma ? bildirim g?nder */
.push-audience-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.push-audience-tab {
  margin: 0;
  cursor: pointer;
}
.push-audience-tab input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.push-audience-tab span {
  display: inline-flex;
  align-items: center;
  padding: .45rem .85rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: .82rem;
  font-weight: 650;
  background: #fff;
  color: var(--ink-soft);
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.push-audience-tab input:checked + span {
  border-color: rgba(249, 115, 22, .45);
  background: #fff7ed;
  color: #c2410c;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .12);
}
.push-pick-trigger {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .85rem;
  align-items: center;
  text-align: left;
  padding: .75rem .9rem;
  border-radius: 16px;
  border: 1px dashed rgba(249, 115, 22, .35);
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
  cursor: pointer;
  font: inherit;
  color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.push-pick-trigger:hover {
  border-style: solid;
  border-color: rgba(249, 115, 22, .5);
  box-shadow: 0 10px 28px rgba(249, 115, 22, .08);
  transform: translateY(-1px);
}
.push-pick-trigger-avatars {
  display: flex;
  align-items: center;
  min-height: 40px;
  min-width: 40px;
}
.push-pick-trigger-avatars img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .08);
  margin-left: -10px;
  background: #fff0e6;
}
.push-pick-trigger-avatars img:first-child {
  margin-left: 0;
}
.push-pick-more {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-left: -10px;
  border-radius: 50%;
  background: #1f2937;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  border: 2px solid #fff;
}
.push-pick-trigger-text {
  display: grid;
  gap: .12rem;
  min-width: 0;
}
.push-pick-trigger-text strong {
  font-size: .95rem;
  letter-spacing: -0.02em;
}
.push-pick-trigger-text em {
  font-style: normal;
  font-size: .78rem;
  color: var(--ink-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.push-pick-trigger-cta {
  display: inline-flex;
  align-items: center;
  padding: .4rem .7rem;
  border-radius: 999px;
  background: #f97316;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
}
.push-pick-modal .modal-body {
  padding-top: .85rem;
}
.push-pick-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  margin-bottom: .55rem;
}
.push-pick-search {
  flex: 1 1 12rem;
  min-width: 0;
}
.push-pick-toolbar-acts {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
}
.push-pick-status {
  margin: 0 0 .75rem;
}
.push-pick-empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: var(--ink-muted);
  font-size: .9rem;
  border: 1px dashed var(--line);
  border-radius: 14px;
  grid-column: 1 / -1;
}
.push-people-grid {
  display: grid;
  gap: .5rem;
  grid-template-columns: 1fr;
  max-height: min(52vh, 440px);
  overflow: auto;
  padding: .1rem .15rem .35rem;
  align-content: start;
}
@media (min-width: 640px) {
  .push-people-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.push-person-card {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: .7rem !important;
  margin: 0;
  padding: .65rem .7rem;
  min-height: 3.35rem;
  border-radius: 14px;
  border: 1.5px solid rgba(31, 41, 55, .1);
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  user-select: none;
}
/* flex !important, genel [hidden] kuralını eziyordu — arama filtrelemesi çalışmıyordu */
.push-person-card[hidden] {
  display: none !important;
}
.push-person-card:hover {
  border-color: rgba(249, 115, 22, .35);
  box-shadow: 0 6px 18px rgba(31, 41, 55, .06);
}
.push-person-card input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}
.push-person-avatar {
  flex: 0 0 44px;
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1.5px rgba(31, 41, 55, .12);
  background: #fff0e6;
  display: block;
}
.push-person-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .12rem;
  min-width: 0;
  flex: 1 1 auto;
}
.push-person-info strong {
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--ink, #111827);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.push-person-info em {
  font-style: normal;
  font-size: .74rem;
  color: var(--ink-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.push-person-check {
  position: relative;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  border-radius: 6px;
  border: 2px solid #cbd5e1;
  background: #fff;
  box-sizing: border-box;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.push-person-check::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 45%;
  width: .28rem;
  height: .5rem;
  margin: 0;
  border: solid transparent;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -55%) rotate(45deg) scale(0);
  transform-origin: center;
  transition: transform .12s ease, border-color .12s ease;
  box-sizing: border-box;
}
.push-person-card:has(input:checked) .push-person-check {
  background: #ea580c;
  border-color: #ea580c;
  box-shadow: 0 0 0 3px rgba(234, 88, 12, .18);
}
.push-person-card:has(input:checked) .push-person-check::after {
  border-color: #fff;
  transform: translate(-50%, -55%) rotate(45deg) scale(1);
}
.push-person-card:has(input:checked) {
  border-color: rgba(234, 88, 12, .45);
  background: #fff7ed;
}
.push-person-card:has(input:checked) .push-person-avatar {
  box-shadow: 0 0 0 2px rgba(234, 88, 12, .4);
}
.push-person-card:focus-within {
  outline: 2px solid rgba(234, 88, 12, .35);
  outline-offset: 1px;
}

/* G?nderilen bildirim ? sil */
.push-send-del {
  margin: 0;
  display: inline-flex;
}

/* Bildirim popup — sade, tip ikonu ile */
.modal-notif-popup {
  --notif-accent: #f97316;
  --notif-soft: #fff7ed;
  --notif-ink: #ea580c;
  position: relative;
  width: calc(100% - 1.25rem);
  max-width: 520px;
  max-height: min(92vh, 680px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  margin: auto;
  padding: 1.5rem 1.35rem 1.25rem;
  border: 0;
  background: #fff;
  border-radius: 22px;
  text-align: center;
  box-shadow: 0 24px 56px rgba(31, 41, 55, .18);
}
.modal-notif-popup .modal-body {
  padding: 0;
  text-align: inherit;
}
.modal-notif-popup .notif-popup-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(48vh, 360px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: grid;
  gap: .75rem;
  padding: .45rem 0 0 !important;
  background: transparent;
}
.notif-popup-close,
.modal-notif-popup > .notif-popup-close.modal-close,
.modal-notif-popup > button.notif-popup-close {
  position: absolute;
  top: .7rem;
  right: .7rem;
  z-index: 2;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #9ca3af;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.notif-popup-close:hover {
  color: var(--ink);
  background: var(--bg-soft);
}
.notif-popup-icon {
  width: 4rem;
  height: 4rem;
  margin: .1rem auto .7rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--notif-soft);
  color: var(--notif-ink);
}
.notif-popup-icon svg {
  width: 1.65rem;
  height: 1.65rem;
}
.notif-popup-kind {
  display: block;
  margin: 0 0 .3rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--notif-ink);
}
.notif-popup-title {
  margin: 0 .25rem .45rem;
  padding: 0 .35rem;
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: -.02em;
  font-weight: 800;
  color: var(--ink);
}
.notif-popup-meta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .4rem .55rem;
  margin: 0 0 .55rem;
}
.notif-popup-time {
  margin: 0;
  font-size: .78rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.35;
}
.notif-popup-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem;
  margin: 0;
}
.notif-popup-badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .18rem .55rem;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 700;
  color: #64748b;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
}
.notif-popup-badge i {
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  background: #94a3b8;
  display: inline-block;
}
.notif-popup-badge.is-unread {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}
.notif-popup-badge.is-unread i { background: #fff; }
.notif-popup-section {
  padding: 0;
  border: 0;
  text-align: center;
}
.notif-popup-section-label { display: none; }
.notif-popup-message-text {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.55;
  font-size: .9rem;
  font-weight: 450;
  color: #475569;
  text-align: left;
  padding: .15rem .1rem;
}
.modal-notif-popup.is-manual-msg .notif-popup-message-text {
  background: #f8fafc;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  padding: .85rem .95rem;
}
.notif-popup-message-text[hidden],
.notif-popup-rows[hidden],
.notif-popup-related[hidden],
.notif-popup-lead[hidden],
.notif-popup-section[hidden] {
  display: none !important;
}
.notif-popup-rows {
  margin: 0;
  padding: .15rem .85rem;
  display: grid;
  gap: 0;
  text-align: left;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  border-radius: 14px;
}
.notif-popup-row {
  display: grid;
  grid-template-columns: minmax(4.5rem, 32%) 1fr;
  gap: .45rem .7rem;
  align-items: baseline;
  padding: .55rem 0;
  border-bottom: 1px solid #eef2f7;
}
.notif-popup-row:last-child { border-bottom: 0; }
.notif-popup-row dt {
  margin: 0;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #94a3b8;
}
.notif-popup-row dd {
  margin: 0;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ink);
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: pre-wrap;
}
.notif-popup-related {
  display: grid;
  gap: .45rem;
  justify-items: center;
  padding: .1rem 0 0;
}
.notif-popup-related-label {
  font-size: .72rem;
  font-weight: 600;
  color: var(--ink-muted);
}
.notif-popup-related-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
}
.notif-popup-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.5rem;
  padding: .65rem 1rem;
  border-radius: 14px;
  background: #fff7ed;
  color: #c2410c !important;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none !important;
  border: 1px solid #fed7aa;
}
.notif-popup-open:hover {
  background: #ffedd5;
  color: #c2410c !important;
}
.notif-popup-open[hidden] { display: none !important; }
.notif-popup-lead {
  margin: 0;
  font-size: .84rem;
  color: var(--ink-muted);
  line-height: 1.45;
  text-align: center;
}
.notif-popup-foot {
  flex: 0 0 auto;
  border-top: 0;
  padding: 1rem 0 0;
  margin: 0;
  justify-content: stretch;
  background: transparent;
  display: block;
}
.notif-popup-dismiss {
  width: 100% !important;
  border: 0 !important;
  background: var(--brand) !important;
  color: #fff !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: .9rem 1.15rem !important;
  box-shadow: 0 10px 22px rgba(249, 115, 22, .28) !important;
}
.notif-popup-dismiss:hover {
  background: var(--brand-dark) !important;
  color: #fff !important;
}
.btn[hidden],
a.btn[hidden],
#notif-detail-link[hidden] {
  display: none !important;
}
.notif-detail-body {
  white-space: pre-wrap;
  line-height: 1.55;
  margin: .55rem 0 0;
  font-size: .95rem;
}
.notif-detail-meta { margin: 0; }

/* Push geçmişi — aynı sade kart */
.notif-popup-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
  overflow: hidden;
}
.notif-popup-fact {
  display: grid;
  gap: .2rem;
  min-width: 0;
  padding: .7rem .75rem;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.notif-popup-fact:nth-child(odd) { border-right: 1px solid var(--line); }
.notif-popup-fact-wide {
  grid-column: 1 / -1;
  border-right: 0 !important;
}
.notif-popup-fact span {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--brand-dark);
  opacity: .85;
}
.notif-popup-fact strong {
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
  color: var(--ink);
}
/* Eski hero sınıfları (geriye dönük) */
.notif-popup-hero,
.notif-popup-orb,
.notif-popup-bell-wrap,
.notif-popup-bell-ring,
.notif-popup-head,
.notif-popup-message,
.notif-popup-message-label,
.notif-popup-message-ico { display: none !important; }

.modal-feature-lock {
  max-width: 420px;
  text-align: center;
}
.feature-lock-ico {
  width: 56px; height: 56px; margin: 0 auto .35rem;
  border-radius: 16px;
  display: grid; place-items: center;
  background: #fff7ed; color: #c2410c;
  border: 1px solid #fdba74;
}

/* Colored metric tones (Randevu parity, Aidatla palette) */
.stat-card[class*="tone-"] {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: none;
  color: #fff;
}
.stat-card[class*="tone-"]::before,
.stat-card[class*="tone-"]::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.stat-card[class*="tone-"] > * { position: relative; z-index: 1; }
.stat-card[class*="tone-"]::before {
  width: min(96px, 42%); height: min(96px, 70%); border-radius: 50%;
  right: -28px; top: -36px; opacity: .45;
  background: rgba(255,255,255,0.22);
}
.stat-card[class*="tone-"]::after {
  width: min(56px, 28%); height: min(56px, 45%); border-radius: 50%;
  right: 22px; bottom: -22px; opacity: .28;
  border: 8px solid rgba(255,255,255,0.28);
  background: transparent; box-sizing: border-box;
}
.stat-card[class*="tone-"] .stat-label,
.stat-card[class*="tone-"] .stat-value,
.stat-card[class*="tone-"] .tiny,
.stat-card[class*="tone-"] .muted,
.stat-card[class*="tone-"] strong {
  color: #fff;
}
.stat-card[class*="tone-"] .stat-label {
  color: rgba(255,255,255,0.9);
}
.stat-card[class*="tone-"] .stat-value {
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.12);
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  line-height: 1.25;
  max-width: 100%;
}
.stat-card .stat-ico {
  width: 38px; height: 38px; border-radius: 12px;
  display: grid; place-items: center; margin-bottom: .55rem;
  background: rgba(255,255,255,0.22); color: #fff;
  border: 1px solid rgba(255,255,255,0.28);
}
.stat-card .stat-ico svg { width: 18px; height: 18px; display: block; }
.stat-card.tone-orange {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.42), transparent 28%),
    repeating-linear-gradient(-35deg, rgba(255,255,255,0.12) 0 2px, transparent 2px 10px),
    linear-gradient(145deg, #c2410c 0%, #ea580c 48%, #fb923c 100%);
  box-shadow: 0 14px 32px rgba(234, 88, 12, 0.28);
}
.stat-card.tone-blue {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.4), transparent 28%),
    repeating-linear-gradient(28deg, rgba(255,255,255,0.1) 0 2px, transparent 2px 10px),
    linear-gradient(145deg, #1f5f86 0%, #2a6f97 50%, #4a9bc4 100%);
  box-shadow: 0 14px 32px rgba(42, 111, 151, 0.28);
}
.stat-card.tone-mint {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.42), transparent 28%),
    repeating-linear-gradient(-42deg, rgba(255,255,255,0.12) 0 2px, transparent 2px 10px),
    linear-gradient(145deg, #177a52 0%, #1f8a5f 48%, #3cb884 100%);
  box-shadow: 0 14px 32px rgba(31, 138, 95, 0.28);
}
.stat-card.tone-gold {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.45), transparent 28%),
    repeating-linear-gradient(-28deg, rgba(255,255,255,0.14) 0 2px, transparent 2px 9px),
    linear-gradient(145deg, #b8730f 0%, #d4921a 48%, #efb84a 100%);
  box-shadow: 0 14px 32px rgba(196, 125, 18, 0.28);
}
.stat-card.tone-red {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.4), transparent 28%),
    repeating-linear-gradient(32deg, rgba(255,255,255,0.1) 0 2px, transparent 2px 10px),
    linear-gradient(145deg, #991b1b 0%, #dc2626 48%, #f87171 100%);
  box-shadow: 0 14px 32px rgba(220, 38, 38, 0.28);
}
.stat-card.tone-slate {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.35), transparent 28%),
    repeating-linear-gradient(-38deg, rgba(255,255,255,0.1) 0 2px, transparent 2px 10px),
    linear-gradient(145deg, #334155 0%, #475569 48%, #64748b 100%);
  box-shadow: 0 14px 32px rgba(71, 85, 105, 0.28);
}

/* Avatar picker (student modal) */
.avatar-picker {
  display: flex;
  justify-content: center;
  margin: 0 0 1.15rem;
}
.avatar-picker-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  cursor: pointer;
  font-size: .82rem;
  font-weight: 700;
  color: var(--brand-dark);
}
.avatar-picker-preview {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  box-sizing: border-box;
  padding: 0;
  border: 3px solid #ffedd5;
  background: #fff;
  box-shadow: 0 8px 24px rgba(249,115,22,.18);
}
.avatar-picker-btn:hover .avatar-picker-preview {
  border-color: var(--brand);
}

/* Profil sayfas?: biraz daha b?y?k ?nizleme */
.card .avatar-picker-preview {
  width: 112px;
  height: 112px;
}

/* Multi-month payment toggle */
.pay-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
  margin-bottom: 1rem;
  padding: .3rem;
  border-radius: 14px;
  background: #f1f5f9;
  border: 1px solid var(--line);
}
.pay-mode.pay-mode-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pay-mode.pay-mode-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pay-mode.pay-mode-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 640px) {
  .pay-mode.pay-mode-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .2rem;
    padding: .22rem;
  }
  .pay-mode.pay-mode-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .18rem;
    padding: .2rem;
  }
  .pay-mode.pay-mode-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .14rem;
    padding: .18rem;
  }
  .pay-mode.pay-mode-3 .pay-mode-opt span,
  .pay-mode.pay-mode-4 .pay-mode-opt span,
  .pay-mode.pay-mode-5 .pay-mode-opt span {
    padding: .48rem .1rem;
    font-size: .68rem;
    letter-spacing: -.02em;
    line-height: 1.15;
    white-space: nowrap;
  }
  .pay-mode.pay-mode-5 .pay-mode-opt span {
    font-size: .62rem;
    padding: .42rem .06rem;
  }
}
.pay-equip-box {
  margin: 0 0 1rem;
  padding: .85rem .9rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff7ed;
}
.pay-equip-head {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  margin-bottom: .7rem;
}
.pay-equip-head strong {
  font-size: .95rem;
}
.pay-equip-box .form-row {
  margin: 0;
}
.pay-equip-box .form-group {
  margin-bottom: 0;
}
.pay-mode-opt {
  position: relative;
  margin: 0;
  cursor: pointer;
}
.pay-mode-opt input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pay-mode-opt span {
  display: block;
  text-align: center;
  padding: .7rem .35rem;
  border-radius: 11px;
  font-size: .88rem;
  font-weight: 700;
  color: var(--ink-muted);
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.pay-mode-opt input:checked + span {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.35);
}
.pay-mode-opt input:focus-visible + span {
  outline: 2px solid var(--brand-dark);
  outline-offset: 1px;
}
.pay-detail-head {
  margin-bottom: .85rem;
}
.pay-detail-title {
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.15rem;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.pay-detail-sub {
  margin-top: .2rem;
  color: var(--ink-muted);
  font-size: .9rem;
}
.pay-detail-wrap {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.pay-detail-table {
  min-width: 0 !important;
  width: 100%;
  margin: 0;
}
.pay-detail-table th,
.pay-detail-table td {
  white-space: normal;
  padding: .55rem .75rem;
  vertical-align: top;
}
.pay-detail-table th {
  width: auto;
  max-width: none;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ink-muted);
  background: var(--bg-soft);
  border-bottom: 1px solid var(--line);
  font-weight: 700;
}
.pay-detail-table.pay-detail-2col th {
  width: 18%;
  white-space: nowrap;
}
.pay-detail-table.pay-detail-2col td {
  width: 32%;
}
.pay-detail-table.pay-detail-2col tr.pay-detail-full th {
  width: 18%;
}
.pay-detail-table.pay-detail-2col tr.pay-detail-full td {
  width: auto;
}
@media (min-width: 960px) {
  table.data.pay-detail-table.pay-detail-2col tr.pay-detail-full td[colspan] {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    vertical-align: top;
  }
  table.data.pay-detail-table .pay-detail-note-text {
    display: block;
    max-height: calc(1.4em * 2);
    overflow-x: hidden;
    overflow-y: auto;
    white-space: normal;
    word-break: break-word;
    line-height: 1.4;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}
@media (max-width: 719px) {
  table.data.pay-detail-table.pay-detail-2col {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  table.data.pay-detail-table.pay-detail-2col tbody {
    display: block !important;
    width: 100% !important;
  }
  table.data.pay-detail-table.pay-detail-2col tr {
    display: grid !important;
    grid-template-columns: minmax(5rem, 34%) minmax(0, 1fr);
    width: 100% !important;
    border-bottom: 1px solid var(--line);
    padding: .2rem 0;
  }
  table.data.pay-detail-table.pay-detail-2col th,
  table.data.pay-detail-table.pay-detail-2col td {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    white-space: normal !important;
    border-bottom: 0 !important;
    padding: .35rem .65rem !important;
    vertical-align: top;
  }
  table.data.pay-detail-table.pay-detail-2col th {
    background: transparent;
    padding-bottom: .1rem !important;
  }
  table.data.pay-detail-table.pay-detail-2col td {
    padding-top: .1rem !important;
    font-weight: 600;
  }
  table.data.pay-detail-table.pay-detail-2col tr.pay-detail-full {
    grid-template-columns: minmax(5rem, 34%) minmax(0, 1fr);
  }
  table.data.pay-detail-table.pay-detail-2col tr.pay-detail-full td[colspan] {
    grid-column: 2;
  }
  .pay-detail-wrap {
    overflow: visible;
  }
}
.pay-detail-table td {
  font-weight: 600;
  border-bottom: 1px solid var(--line);
}
.pay-detail-table tr:last-child th,
.pay-detail-table tr:last-child td {
  border-bottom: 0;
}
.pay-detail-table td.is-paid {
  color: var(--success);
}
.pay-detail-table td.is-left {
  color: var(--warning);
}
.pay-history {
  margin-top: 1rem;
}
.pay-history-title {
  font-family: var(--display);
  font-size: .95rem;
  font-weight: 800;
  margin-bottom: .45rem;
  letter-spacing: -.01em;
}
.pay-history-wrap {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  overflow: auto;
  max-height: 11rem;
}
.pay-history-table {
  min-width: 0 !important;
  width: 100%;
  margin: 0;
}
.pay-history-table th,
.pay-history-table td {
  white-space: nowrap;
  padding: .45rem .55rem;
  font-size: .8rem;
}
.pay-history-table td:last-child {
  width: 1%;
  text-align: right;
}
.pay-history-table .act-btns {
  justify-content: flex-end;
}
.pay-history-table .act {
  width: 28px;
  height: 28px;
  font-size: .75rem;
}
.pay-history-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--bg-soft);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.pay-history-table tr.is-current td {
  background: var(--brand-soft);
  font-weight: 700;
}
.pay-history-empty {
  color: var(--ink-muted);
  font-size: .85rem;
  padding: .35rem 0;
}
.multi-month {
  margin: .35rem 0 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.pay-period-summary {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: .55rem .85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
  font-weight: 700;
  font-size: .92rem;
  color: var(--ink);
  line-height: 1.3;
}
.pay-period-selects {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: .45rem;
}
.multi-month-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem 1rem;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  color: var(--ink);
}
.multi-month-chevron { color: var(--ink-muted); transition: transform .2s ease; }
.multi-month.is-open .multi-month-chevron { transform: rotate(180deg); }
.multi-month-panel {
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--line);
}
.multi-month-btns {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding-top: .85rem;
}
.multi-month-btns .btn.is-on {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.month-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
  margin-top: .85rem;
}
@media (min-width: 520px) {
  .month-chips { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.month-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .55rem .35rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--bg-soft);
  font-size: .78rem;
  font-weight: 700;
  color: var(--ink-soft);
  cursor: pointer;
  user-select: none;
  text-align: center;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.month-chip.is-on {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.month-chip:hover { border-color: rgba(249,115,22,.45); }

/* Yoklama / filtre kartlar? ? mobilde s?k? */
.att-filters {
  margin-bottom: .75rem;
  padding: .75rem !important;
}
.att-filters .form-row {
  margin: 0;
  gap: .5rem;
}
.att-filters .form-group {
  margin-bottom: 0;
}
.att-filters label {
  font-size: .72rem;
  margin-bottom: .2rem;
}
.att-filters .form-control,
.att-filters .form-select {
  padding: .55rem .7rem;
  border-radius: 10px;
}
@media (min-width: 640px) {
  .att-filters { padding: 1rem !important; margin-bottom: 1rem; }
  .att-filters .form-row { gap: .75rem; }
}
@media (max-width: 639px) {
  .filter-bar .form-control,
  .filter-bar .form-select {
    padding: .55rem .7rem;
    border-radius: 10px;
  }
  .card.att-filters .form-row-3 {
    grid-template-columns: 1fr;
  }
}
.att-list { display: grid; gap: .65rem; }
.att-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .55rem;
  padding: .85rem .15rem .2rem;
  border-top: 1px dashed var(--line);
}
.att-section-head h4 {
  margin: 0;
  font-size: .92rem;
  font-weight: 800;
  color: var(--ink);
}
.att-section-head span {
  font-size: .78rem;
  font-weight: 700;
  color: var(--ink-muted);
}
.att-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.att-row.is-present { border-color: rgba(5,150,105,.35); background: #ecfdf5; }
.att-row.is-absent { border-color: rgba(220,38,38,.3); background: #fef2f2; }
.att-row.is-excused { border-color: rgba(2,132,199,.35); background: #f0f9ff; }
.att-row.is-student-passive {
  border-style: dashed;
  background: #fafafa;
}
.att-student {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex: 1 1 180px;
  min-width: 0;
}
.att-badge {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.att-badge-none { background: var(--bg-soft); color: var(--ink-muted); }
.att-badge-present { background: #059669; color: #fff; }
.att-badge-absent { background: #dc2626; color: #fff; }
.att-badge-excused { background: #0284c7; color: #fff; }
.att-badge-late { background: #d97706; color: #fff; }
.att-badge-passive { background: #64748b; color: #fff; }
.att-badge-trial { background: #7c3aed; color: #fff; }
.att-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.att-btn {
  border: 0;
  border-radius: 12px;
  padding: .55rem .85rem;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
  color: #fff;
  opacity: .72;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}
.att-btn:hover { opacity: 1; transform: translateY(-1px); }
.att-btn.is-active {
  opacity: 1;
  box-shadow: 0 8px 18px rgba(0,0,0,.14);
  outline: 2px solid rgba(255,255,255,.7);
  outline-offset: 1px;
}
.att-btn-present { background: linear-gradient(135deg, #059669, #10b981); }
.att-btn-absent { background: linear-gradient(135deg, #dc2626, #f87171); }
.att-btn-excused { background: linear-gradient(135deg, #0284c7, #38bdf8); }

/* ===== Deneme talebi link + public form ===== */
.trial-detail-body { display: grid; gap: 1rem; }
.trial-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem 1rem;
  padding: .9rem 1rem;
  border-radius: 14px;
  background: color-mix(in srgb, var(--brand-soft) 55%, transparent);
  border: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
}
.trial-detail-item {
  display: grid;
  grid-template-columns: minmax(5.5rem, 38%) minmax(0, 1fr);
  align-items: start;
  gap: .35rem .65rem;
  min-width: 0;
}
.trial-detail-item span {
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ink-muted);
  padding-top: .12rem;
}
.trial-detail-item strong {
  font-size: .9rem;
  font-weight: 650;
  color: var(--ink);
  word-break: break-word;
  line-height: 1.35;
}
.trial-detail-item.is-full {
  grid-column: 1 / -1;
}
.trial-tpl-block {
  padding: .9rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--surface, #fff);
}
.trial-tpl-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .35rem .75rem;
  margin-bottom: .65rem;
}
.trial-tpl-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.trial-tpl-chips .btn.is-active {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.trial-detail-foot { flex-wrap: wrap; gap: .5rem; }
@media (max-width: 520px) {
  .trial-detail-grid { grid-template-columns: 1fr; }
  .trial-detail-item {
    grid-template-columns: minmax(4.5rem, 34%) minmax(0, 1fr);
  }
}

.trial-link-banner {
  display: grid; gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-radius: 18px;
  background: linear-gradient(135deg, #1f2937 0%, #334155 55%, #ea580c 140%);
  color: #fff;
  box-shadow: var(--shadow-lg);
  margin-bottom: 1rem;
}
.trial-link-banner.is-closed {
  background: linear-gradient(135deg, #374151 0%, #4b5563 60%, #6b7280 140%);
}
.trial-link-banner-copy { display: flex; gap: .85rem; align-items: flex-start; }
.trial-link-ico {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center;
  background: rgba(249,115,22,.95); color: #fff;
}
.trial-link-banner.is-closed .trial-link-ico { background: rgba(156,163,175,.9); }
.trial-link-banner h3 { margin: 0 0 .2rem; font-family: var(--display); font-size: 1.05rem; color: #fff; }
.trial-link-banner p { margin: 0; font-size: .85rem; color: rgba(255,255,255,.72); }
.trial-page-toggle { margin: 0; }
.trial-page-toggle-row {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  cursor: pointer;
  width: fit-content;
}
.trial-page-toggle-row .ui-toggle-label {
  font-size: .82rem;
  font-weight: 600;
  color: #fff;
}
.trial-link-row { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.trial-link-input {
  flex: 1 1 220px; min-width: 0;
  background: #fff !important; color: var(--ink) !important;
  border: 0 !important; font-size: .88rem;
}
.trial-link-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.trial-link-actions .btn-ghost {
  background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.2);
}
.trial-link-actions .btn-ghost:hover { background: rgba(255,255,255,.2); }


.trial-body {
  --tp-bg: #f4f5f7;
  --tp-card: #ffffff;
  --tp-ink: #0f172a;
  --tp-muted: #64748b;
  --tp-line: rgba(15, 23, 42, .08);
  --tp-radius: 18px;
  background: var(--tp-bg);
  min-height: 100dvh;
  margin: 0;
  color: var(--tp-ink);
  padding-bottom: 1.5rem;
  overflow-x: hidden;
  max-width: 100vw;
}
.tp {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  min-width: 0;
}
/* Landing ile ayn? geni?lik */
.tp-shell {
  width: min(100% - 1.25rem, var(--container));
  margin-inline: auto;
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}
.tp-top {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--tp-line);
}
html[data-aidatla-app="1"] .tp-top {
  top: 0;
  padding-top: max(env(safe-area-inset-top, 0px), var(--app-safe-top, 0px));
}
.tp-top-inner {
  padding: .65rem 0;
  display: flex; align-items: center; justify-content: space-between; gap: .55rem;
  min-width: 0;
  max-width: 100%;
}
html[data-aidatla-app="1"] .tp-top-inner {
  padding-left: max(.25rem, env(safe-area-inset-left, 0px));
  padding-right: max(.25rem, env(safe-area-inset-right, 0px));
}
.tp-top-brand {
  display: flex; align-items: center; gap: .55rem;
  min-width: 0; text-decoration: none; color: inherit;
}
.tp-top-logo { height: 24px; width: auto; display: block; flex-shrink: 0; }
.tp-top-member {
  font-size: .76rem; color: var(--tp-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tp-top-member strong { color: var(--brand-dark); }
.tp-top-actions { display: flex; gap: .35rem; flex-shrink: 0; align-items: center; min-width: 0; }
.tp-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .42rem .7rem; border-radius: 999px;
  background: #f1f5f9; color: var(--tp-ink);
  font-size: .76rem; font-weight: 700; text-decoration: none;
  border: 1px solid transparent;
  white-space: nowrap;
  flex-shrink: 0;
}
.tp-chip-txt { min-width: 0; }
.tp-chip-primary {
  background: var(--brand); color: #fff;
  box-shadow: 0 4px 12px rgba(249,115,22,.25);
}

.tp-main {
  padding: .85rem 0 1.25rem;
  display: grid; gap: .85rem;
}

.tp-profile, .tp-block {
  background: var(--tp-card);
  border: 1px solid var(--tp-line);
  border-radius: var(--tp-radius);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .04);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.tp-profile { overflow: hidden; padding: 0; }
.tp-cover {
  position: relative;
  width: 100%;
  aspect-ratio: 1200 / 400;
  height: auto;
  background: linear-gradient(135deg, #1f2937, #334155);
  overflow: hidden;
  line-height: 0;
}
.tp-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.tp-profile-body { padding: 1rem 1rem 1.1rem; }
.tp-profile.has-cover .tp-avatar-wrap {
  margin-top: -44px;
  position: relative; z-index: 1;
}
.tp-profile-head {
  display: flex; gap: .85rem; align-items: flex-end;
  margin-bottom: .85rem;
}
.tp-avatar-wrap { flex-shrink: 0; }
.tp-avatar {
  width: 88px; height: 88px; border-radius: 18px;
  object-fit: contain; display: block;
  background: #fff;
  border: 3px solid #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
}
.tp-avatar-letter {
  display: grid; place-items: center;
  background: linear-gradient(145deg, #fff7ed, #ffedd5);
  color: var(--brand-dark);
  font-family: var(--display); font-size: 1.9rem; font-weight: 800;
}
.img-upload-preview {
  margin: 0 0 .75rem;
  border-radius: 12px;
  border: 1px solid var(--line, #e2e8f0);
  background: #f1f5f9;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.img-upload-preview img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.img-upload-preview-logo {
  width: 112px;
  height: 112px;
}
.img-upload-preview-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.img-upload-preview-cover {
  width: 100%;
  aspect-ratio: 1200 / 400;
  height: auto;
}
.img-upload-preview-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.img-upload-preview-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
}

.tp-profile-meta { min-width: 0; flex: 1; padding-bottom: .1rem; }
.tp-meta-line {
  margin: 0 0 .3rem;
  display: flex; flex-wrap: wrap; gap: .35rem .5rem;
  align-items: center;
}
.tp-sector {
  display: inline-flex; align-items: center;
  padding: .18rem .5rem; border-radius: 999px;
  background: var(--brand-soft); color: var(--brand-dark);
  font-size: .7rem; font-weight: 700;
}
.tp-place { font-size: .78rem; color: var(--tp-muted); font-weight: 600; }
.tp-profile h1 {
  margin: 0 0 .25rem;
  font-size: clamp(1.35rem, 5vw, 1.9rem);
  letter-spacing: -.02em; line-height: 1.2;
  word-break: break-word;
}
.tp-tagline { margin: 0; color: var(--tp-muted); font-size: .88rem; }

.tp-share-row {
  display: flex; flex-wrap: wrap; gap: .45rem;
  margin-bottom: .75rem;
  align-items: center;
}
.tp-share-btn {
  appearance: none; border: 1px solid var(--tp-line);
  background: #fff; color: var(--tp-ink);
  border-radius: 999px; padding: .38rem .75rem;
  font-size: .76rem; font-weight: 600;
  display: inline-flex; align-items: center; gap: .3rem;
  cursor: pointer; text-decoration: none;
  font-family: inherit;
}
.tp-share-ico {
  appearance: none;
  -webkit-appearance: none;
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 14px;
  display: inline-grid;
  place-items: center;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  color: #fff !important;
  background: #64748b;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .14);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  padding: 0;
  font-family: inherit;
  flex: 0 0 auto;
}
.tp-share-ico:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18);
  color: #fff !important;
}
.tp-share-ico:active { transform: translateY(0); }
.tp-share-ico svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  fill: currentColor;
  color: inherit;
  flex-shrink: 0;
}
.tp-share-ico svg [stroke] {
  stroke: currentColor;
  fill: none;
}
.tp-share-ico-share {
  background: linear-gradient(145deg, #fb923c, #ea580c);
  box-shadow: 0 4px 14px rgba(234, 88, 12, .35);
}
.tp-share-ico-website {
  background: linear-gradient(145deg, #38bdf8, #0284c7);
  box-shadow: 0 4px 14px rgba(2, 132, 199, .32);
}
.tp-share-ico-instagram {
  background: linear-gradient(135deg, #feda75 0%, #fa7e1e 25%, #d62976 55%, #962fbf 75%, #4f5bd5 100%);
  box-shadow: 0 4px 14px rgba(214, 41, 118, .35);
}
.tp-share-ico-facebook {
  background: linear-gradient(145deg, #4b92f7, #1877f2);
  box-shadow: 0 4px 14px rgba(24, 119, 242, .35);
}
.tp-share-ico-x {
  background: linear-gradient(145deg, #3f3f46, #0a0a0a);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
}
.tp-share-ico-youtube {
  background: linear-gradient(145deg, #ff4d4d, #ff0000);
  box-shadow: 0 4px 14px rgba(255, 0, 0, .32);
}
.tp-share-ico-linkedin {
  background: linear-gradient(145deg, #3b9ae8, #0a66c2);
  box-shadow: 0 4px 14px rgba(10, 102, 194, .32);
}
.tp-share-ico-tiktok {
  background: linear-gradient(145deg, #25f4ee 0%, #111111 48%, #fe2c55 100%);
  box-shadow: 0 4px 14px rgba(254, 44, 85, .28);
}
.tp-social-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
}
.tp-side-social .tp-block-head { margin-bottom: .55rem; }

.tp-faq-list {
  display: grid;
  gap: .4rem;
  align-content: start;
}
.tp-faq-item {
  border: 1px solid var(--tp-line);
  border-radius: 12px;
  background: #fafafa;
  overflow: hidden;
}
.tp-faq-item[open] {
  background: #fff;
  border-color: color-mix(in srgb, var(--brand, #f97316) 28%, var(--tp-line));
}
.tp-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem;
  padding: .7rem .8rem;
  font-size: .86rem;
  font-weight: 700;
  color: var(--tp-ink, #0f172a);
  line-height: 1.35;
}
.tp-faq-item summary::-webkit-details-marker { display: none; }
.tp-faq-item summary::after {
  content: '+';
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 700;
  line-height: 1;
  color: var(--brand-dark, #c2410c);
  background: color-mix(in srgb, var(--brand-soft, #fff7ed) 85%, #fff);
  border: 1px solid color-mix(in srgb, var(--brand, #f97316) 22%, var(--tp-line));
}
.tp-faq-item[open] summary::after {
  content: '–';
}
.tp-faq-item p {
  margin: 0;
  padding: 0 .8rem .8rem;
  font-size: .84rem;
  line-height: 1.55;
  color: #475569;
}

.tp-cv-social a { color: var(--brand-dark); font-weight: 600; text-decoration: none; }
.tp-cv-social a:hover { text-decoration: underline; }

.tp-cta-stack {
  display: grid;
  gap: .45rem;
  margin-bottom: .9rem;
}
.tp-cta-row {
  display: flex;
  gap: .4rem;
  width: 100%;
}
.tp-cta-row .tp-cta {
  flex: 1 1 0;
}
.tp-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: .3rem;
  padding: .65rem .5rem; border-radius: 12px;
  background: #f1f5f9; color: var(--tp-ink);
  font-size: .82rem; font-weight: 700; text-decoration: none;
  border: 0; cursor: pointer; font-family: inherit;
  box-sizing: border-box;
  min-width: 0;
  white-space: nowrap;
}
.tp-cta span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.tp-cta-main {
  background: var(--brand); color: #fff;
  box-shadow: 0 6px 16px rgba(249,115,22,.25);
  width: 100%;
  padding: .75rem 1rem;
  font-size: .9rem;
}
.tp-cta-wa { background: #ecfdf5; color: #047857; }
.tp-cta-block { width: 100%; padding: .9rem 1rem; font-size: .95rem; }

.tp-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
@media (min-width: 720px) {
  .tp-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.tp-stat {
  background: #f8fafc;
  border: 1px solid var(--tp-line);
  border-radius: 12px;
  padding: .65rem .7rem;
  min-width: 0;
}
.tp-stat-label {
  display: block; font-size: .66rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--tp-muted); margin-bottom: .15rem;
}
.tp-stat strong {
  display: block; font-size: .84rem; font-weight: 700;
  overflow-wrap: anywhere;
}

.tp-layout {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.tp-col-main,
.tp-col-side {
  display: contents;
}
.tp-about-block { order: 1; }
.tp-team-block { order: 2; }
.tp-side-gallery { order: 3; }
.tp-groups-block { order: 4; }
.tp-form-block { order: 5; }
.tp-konum-block { order: 6; }
.tp-side-contact { order: 7; }
.tp-side-social { order: 8; }
.tp-side-faq { order: 9; }
.tp-thanks-block { order: 10; }
@media (min-width: 900px) {
  .tp-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr);
    align-items: stretch;
    gap: 1rem;
  }
  .tp-col-main,
  .tp-col-side {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    min-width: 0;
    width: 100%;
    min-height: 100%;
  }
  .tp-col-main { grid-column: 1; }
  .tp-col-side { grid-column: 2; }
  .tp-about-block,
  .tp-team-block,
  .tp-side-gallery,
  .tp-groups-block,
  .tp-form-block,
  .tp-konum-block,
  .tp-side-contact,
  .tp-side-social,
  .tp-side-faq,
  .tp-thanks-block {
    order: initial;
  }
  .tp-side-faq {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .tp-side-faq .tp-faq-list {
    flex: 1 1 auto;
  }
  .tp-thanks-block {
    flex: 0 0 auto;
    display: flex;
    min-height: 0;
  }
  .tp-thanks-inner {
    flex: 0 0 auto;
    justify-content: flex-start;
  }
}

.tp-block { padding: 1rem 1rem 1.05rem; }
.tp-block h2 {
  margin: 0 0 .55rem;
  font-size: 1.08rem;
}
.tp-block-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: .65rem;
  margin-bottom: .65rem;
}
.tp-block-head h2 { margin: 0; }
.tp-count {
  font-size: .74rem; font-weight: 700; color: var(--tp-muted);
  white-space: nowrap;
}
.tp-about {
  margin: 0; color: #334155; font-size: .92rem; line-height: 1.65;
  overflow-wrap: anywhere;
}

.tp-svc-list { display: grid; gap: .5rem; }
.tp-svc {
  display: flex; gap: .7rem; align-items: flex-start; justify-content: space-between;
  padding: .8rem .85rem;
  border: 1px solid var(--tp-line);
  border-radius: 14px;
  background: #fff;
}
.tp-svc-body { min-width: 0; flex: 1; }
.tp-svc-body h3 {
  margin: 0 0 .15rem; font-size: .95rem;
  line-height: 1.3;
  word-break: break-word;
}
.tp-svc-body p {
  margin: 0 0 .3rem; font-size: .8rem; color: var(--tp-muted);
  line-height: 1.4;
  word-break: break-word;
}
.tp-svc-meta {
  display: flex; flex-wrap: wrap; gap: .35rem .65rem;
  font-size: .74rem; color: #475569; font-weight: 600;
}
.tp-svc-meta span {
  display: inline-flex; align-items: center; gap: .28rem;
  max-width: 100%;
}
.tp-svc-side {
  text-align: right; flex-shrink: 0;
  display: grid; gap: .05rem; align-content: start;
  padding-top: .1rem;
}
.tp-svc-side strong { font-size: .98rem; font-family: var(--display); color: var(--tp-ink); }
.tp-svc-side span { font-size: .68rem; color: var(--tp-muted); }
.tp-svc-free { color: var(--brand-dark) !important; }

.tp-team-list { display: grid; gap: .45rem; }
.tp-team {
  display: flex; align-items: center; gap: .65rem;
  padding: .6rem .65rem;
  border: 1px solid var(--tp-line);
  border-radius: 14px;
  background: #fafafa;
  min-width: 0;
}
.tp-team.is-owner {
  background: linear-gradient(180deg, #fff7ed, #fff);
  border-color: rgba(249,115,22,.22);
}
.tp-team-avatar {
  width: 44px; height: 44px; border-radius: 12px;
  object-fit: cover; object-position: center; flex-shrink: 0;
  border: 2px solid #fff;
  box-shadow: 0 4px 12px rgba(15,23,42,.08);
  background: #fff;
  cursor: zoom-in;
}
.tp-team-meta {
  min-width: 0; flex: 1;
  display: grid; gap: .12rem;
}
.tp-team > script[type="application/json"] {
  display: none !important;
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
.tp-team-name {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--tp-ink);
  word-break: break-word;
}
.tp-team-role {
  display: block;
  font-size: .74rem;
  font-weight: 600;
  color: var(--tp-muted);
  line-height: 1.3;
}
.tp-team-cv {
  margin: .2rem 0 0;
  font-size: .76rem;
  line-height: 1.45;
  color: #475569;
  word-break: break-word;
}
.tp-gallery-album { margin-bottom: 1rem; }
.tp-gallery-album:last-child { margin-bottom: 0; }
.tp-gallery-title {
  margin: 0 0 .5rem;
  font-size: .88rem;
  font-weight: 700;
  color: var(--tp-ink);
}
.tp-gal-slider { margin: 0; }
.tp-gal-albums {
  display: flex; flex-wrap: wrap; gap: .35rem;
  margin: 0 0 .65rem;
}
.tp-gal-album-btn {
  appearance: none; border: 1px solid var(--tp-line);
  background: #fff; color: var(--tp-ink);
  border-radius: 999px; padding: .28rem .65rem;
  font-size: .74rem; font-weight: 650;
  cursor: pointer; font-family: inherit;
}
.tp-gal-album-btn.is-active {
  background: color-mix(in srgb, var(--brand, #f97316) 14%, #fff);
  border-color: color-mix(in srgb, var(--brand, #f97316) 45%, var(--tp-line));
  color: var(--brand-dark, #c2410c);
}
.tp-side-gallery .tp-gallery-title { margin: 0 0 .55rem; }
.tp-side-gallery {
  overflow: hidden;
  padding-bottom: .85rem;
}
.tp-side-gallery .tp-block-head,
.tp-side-gallery .tp-gal-albums,
.tp-side-gallery .tp-gallery-title {
  padding-left: 0;
  padding-right: 0;
}
.tp-side-gallery .tp-gal-slider {
  margin: .15rem -1rem 0;
  width: calc(100% + 2rem);
}
.tp-gal-stage {
  position: relative;
  overflow: hidden;
  background: #0f172a;
  width: 100%;
  height: min(52vw, 360px);
  min-height: 220px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tp-side-gallery .tp-gal-thumbs {
  padding-left: 1rem;
  padding-right: 1rem;
}
.tp-gal-main {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  cursor: zoom-in;
}
.tp-gal-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 2;
  width: 1.7rem; height: 1.7rem; border-radius: 999px; border: 0;
  background: rgba(255,255,255,.92); color: #0f172a;
  font-size: 1.1rem; line-height: 1; cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.16);
}
.tp-gal-prev { left: .35rem; }
.tp-gal-next { right: .35rem; }
.tp-gal-counter {
  position: absolute; right: .45rem; bottom: .4rem;
  background: rgba(15,23,42,.72); color: #fff;
  font-size: .68rem; font-weight: 650;
  padding: .15rem .35rem; border-radius: 999px;
}
.tp-gal-thumbs {
  display: flex; gap: .3rem; overflow-x: auto;
  padding: .45rem 0 0; scrollbar-width: thin;
}
.tp-gal-thumb {
  flex: 0 0 44px; width: 44px; height: 34px; padding: 0;
  border-radius: 6px; overflow: hidden; border: 2px solid transparent;
  background: #e2e8f0; cursor: pointer;
}
.tp-gal-thumb.is-active { border-color: var(--brand, #f97316); }
.tp-gal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .4rem;
}
.tp-gallery-item {
  display: block;
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--tp-line);
  background: #f1f5f9;
}
.tp-gallery-item img {
  width: 100%; height: 100%; object-fit: cover;
  display: block;
}
@media (min-width: 640px) {
  .tp-gallery-grid { grid-template-columns: repeat(4, 1fr); gap: .5rem; }
}
.tp-team.is-owner {
  border-color: color-mix(in srgb, var(--brand) 45%, var(--line));
  background: color-mix(in srgb, var(--brand-soft) 55%, #fff);
}
.tp-team.is-branch {
  border-color: color-mix(in srgb, #0284c7 35%, var(--line));
  background: color-mix(in srgb, #e0f2fe 55%, #fff);
}
.tp-icon-cv { background: #fff7ed; color: #c2410c; border-color: #fdba74; }
.tp-cv-head { align-items: flex-start; }
.tp-cv-brand { display: flex; gap: .65rem; align-items: center; min-width: 0; }
.tp-cv-logo {
  width: 40px; height: 40px; border-radius: 10px; object-fit: cover;
  background: #fff; border: 1px solid var(--line);
}
.tp-cv-brand strong { display: block; font-size: .95rem; }
.tp-cv-hero {
  display: flex; gap: .85rem; align-items: center;
  padding: .85rem 1rem; border-radius: 14px;
  background: color-mix(in srgb, var(--brand-soft) 50%, #fff);
  border: 1px solid var(--line); margin-bottom: .85rem;
}
.tp-cv-avatar {
  width: 72px; height: 72px; border-radius: 50%; object-fit: cover;
  border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.tp-cv-sections { display: grid; gap: .75rem; }
.tp-cv-block {
  padding: .75rem .9rem; border-radius: 12px;
  border: 1px solid var(--line); background: #fff;
}
.tp-cv-block h4 { margin: 0 0 .45rem; font-size: .88rem; }
.tp-cv-block p { margin: 0; font-size: .9rem; line-height: 1.45; }
.tp-cv-dl { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.tp-cv-dl li { display: grid; grid-template-columns: 7rem 1fr; gap: .4rem; font-size: .88rem; }
.tp-cv-dl span { color: var(--ink-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .02em; font-weight: 650; padding-top: .15rem; }
.tp-cv-list { margin: 0; padding-left: 1.1rem; }
.tp-cv-list li { margin: .2rem 0; font-size: .9rem; }
.tp-cv-skills {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem .85rem;
}
.tp-cv-skills li {
  position: relative;
  padding-left: .85rem;
  font-size: .9rem;
  line-height: 1.4;
  color: var(--ink);
}
.tp-cv-skills li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  background: var(--brand);
}
@media (max-width: 520px) {
  .tp-cv-dl li { grid-template-columns: 1fr; gap: .1rem; }
  .tp-cv-skills { grid-template-columns: 1fr; }
}

.tp-team.is-owner .tp-team-role { color: var(--brand-dark); }
.tp-team-acts {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .3rem;
  flex-shrink: 0;
  margin-left: auto;
}
.tp-icon-btn {
  width: 34px; height: 34px; border-radius: 10px;
  display: inline-grid; place-items: center;
  background: #fff; color: #334155;
  border: 1px solid var(--tp-line);
  text-decoration: none;
  padding: 0;
  flex: 0 0 34px;
  overflow: hidden;
  line-height: 0;
  cursor: pointer;
}
.tp-icon-btn-ico {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  pointer-events: none;
}
.tp-icon-btn-ico svg { display: block; }
.tp-icon-wa { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }

.tp-loc-city { margin: 0 0 .25rem; font-size: .98rem; }
.tp-loc-addr { margin: 0 0 .75rem; color: var(--tp-muted); font-size: .86rem; line-height: 1.45; word-break: break-word; }
.tp-map {
  position: relative; overflow: hidden;
  border-radius: 14px; border: 1px solid var(--tp-line);
  background: #e5e7eb; aspect-ratio: 16 / 11; min-height: 160px;
  margin-bottom: .75rem;
}
.tp-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tp-loc-acts { display: flex; flex-wrap: wrap; gap: .4rem; }

.tp-contact-rows { display: grid; gap: .4rem; }
.tp-contact-row {
  display: flex; align-items: center; justify-content: space-between; gap: .65rem;
  padding: .6rem .7rem; border-radius: 12px;
  background: #f8fafc; border: 1px solid var(--tp-line);
  text-decoration: none; color: inherit;
  min-width: 0;
}
.tp-contact-row-static { cursor: default; }
.tp-contact-row span {
  font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: var(--tp-muted); flex-shrink: 0;
}
.tp-contact-row strong {
  font-size: .84rem; color: var(--brand-dark);
  overflow-wrap: anywhere;
  text-align: right; min-width: 0;
}
.tp-contact-group-title {
  margin: .75rem 0 .4rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--tp-muted, #64748b);
}
.tp-contact-group-title:first-child { margin-top: 0; }
.tp-contact-group-title a {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: inherit;
  text-decoration: none;
}
.tp-contact-group-title a:hover { color: var(--brand, #f97316); }
.tp-contact-branch + .tp-contact-branch {
  margin-top: .55rem;
  padding-top: .55rem;
  border-top: 1px solid var(--tp-line, rgba(15,23,42,.08));
}
.tp-side-contact .tp-block-head { margin-bottom: .15rem; }

.tp-seg-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: .3rem;
  margin: 0 0 .7rem;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  padding-bottom: .1rem;
}
.tp-seg-tab {
  appearance: none;
  border: 1px solid var(--tp-line, rgba(15,23,42,.12));
  background: #fff;
  color: var(--tp-ink, #0f172a);
  border-radius: 999px;
  padding: .32rem .7rem;
  font-size: .74rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  flex: 0 0 auto;
}
.tp-seg-tab.is-active {
  background: color-mix(in srgb, var(--brand, #f97316) 14%, #fff);
  border-color: color-mix(in srgb, var(--brand, #f97316) 45%, var(--tp-line, #e2e8f0));
  color: var(--brand-dark, #c2410c);
}
.tp-tab-panel[hidden] { display: none !important; }
.tp-side-locations .tp-side-loc + .tp-side-loc {
  border-top: 0;
  padding-top: 0;
}

.tp-thanks-block {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--brand, #f97316) 28%, var(--tp-line));
  background:
    radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--brand, #f97316) 18%, transparent), transparent 55%),
    linear-gradient(165deg, #fff 0%, color-mix(in srgb, var(--brand-soft, #fff7ed) 70%, #fff) 100%);
}
.tp-thanks-block::before {
  content: '';
  position: absolute;
  inset: auto -20% -40% auto;
  width: 12rem; height: 12rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--brand, #f97316) 12%, transparent);
  pointer-events: none;
}
.tp-thanks-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .7rem;
  width: 100%;
  min-width: 0;
  padding: 0;
  box-sizing: border-box;
}
.tp-thanks-brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  width: 100%;
}
.tp-thanks-logo {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: contain;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--brand, #f97316) 22%, var(--tp-line));
  box-shadow: 0 6px 16px rgba(15, 23, 42, .08);
}
.tp-thanks-logo-letter {
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--brand-dark, #c2410c);
  background: color-mix(in srgb, var(--brand-soft, #fff7ed) 80%, #fff);
}
.tp-thanks-brand-text {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  text-align: left;
}
.tp-thanks-eyebrow {
  display: block;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .02em;
  color: var(--tp-muted);
  line-height: 1.3;
}
.tp-thanks-name {
  display: block;
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--tp-ink);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.tp-thanks-title {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.25;
  font-family: var(--display, inherit);
  color: var(--tp-ink);
  text-wrap: balance;
}
.tp-thanks-copy {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: #475569;
  max-width: 36rem;
}
.tp-thanks-meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  font-size: .74rem;
  font-weight: 650;
  color: var(--brand-dark, #c2410c);
}

/* Mobil: ortal?, dikey marka blo?u */
@media (max-width: 899px) {
  .tp-thanks-block {
    text-align: center;
  }
  .tp-thanks-inner {
    align-items: center;
    text-align: center;
    gap: .75rem;
  }
  .tp-thanks-brand {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .65rem;
  }
  .tp-thanks-logo,
  .tp-thanks-logo.tp-thanks-logo-letter {
    width: auto;
    height: auto;
    max-width: min(100%, 200px);
    max-height: 72px;
    margin-inline: auto;
  }
  .tp-thanks-logo-letter {
    width: 64px;
    height: 64px;
    max-width: 64px;
    max-height: 64px;
  }
  .tp-thanks-brand-text {
    align-items: center;
    text-align: center;
    width: 100%;
  }
  .tp-thanks-eyebrow,
  .tp-thanks-name,
  .tp-thanks-title,
  .tp-thanks-copy {
    text-align: center;
    width: 100%;
    max-width: 22rem;
    margin-inline: auto;
  }
  .tp-thanks-meta {
    justify-content: center;
    width: 100%;
  }
}

.tp-form-block { scroll-margin-top: 4.25rem; overflow: hidden; }
.tp-form-intro { margin: -.15rem 0 .9rem; color: var(--tp-muted); font-size: .88rem; }
.trial-form {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.trial-form .form-row,
.trial-form .form-group {
  min-width: 0;
  max-width: 100%;
}
.trial-form .form-control,
.trial-form .form-select,
.trial-form textarea.form-control {
  font-size: 16px; /* iOS zoom engeli */
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.trial-form input[type="date"],
.trial-form input[type="datetime-local"] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  appearance: none;
  -webkit-appearance: none;
}
.trial-date-hint { margin: .35rem 0 0; font-size: .76rem; color: var(--ink-muted); }
.trial-date-hint.is-warn { color: #b45309; }
.trial-invite {
  margin: 0 0 1rem; padding: .8rem .9rem; border-radius: 14px;
  background: linear-gradient(135deg, #fff7ed, #ecfdf5);
  border: 1px solid rgba(249,115,22,.2);
  display: grid; gap: .2rem;
}
.trial-invite-kicker {
  margin: 0; font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .05em; color: var(--brand);
}
.trial-invite strong { font-size: .92rem; word-break: break-word; }
.trial-invite span { font-size: .8rem; color: var(--ink-soft); }
.trial-success { text-align: center; padding: 1.1rem .4rem .3rem; }
.trial-success-ico {
  width: 56px; height: 56px; margin: 0 auto .75rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--success-soft); color: var(--success);
}
.trial-success h2 { margin-bottom: .4rem; }
.trial-success p { color: var(--ink-soft); margin: 0 0 1rem; }

.tp-foot { padding: .25rem 0 1.25rem; }
.tp-foot-platform {
  text-align: center;
  padding: 1.35rem 1.1rem 1.25rem;
  border-radius: var(--tp-radius);
  background:
    radial-gradient(ellipse 70% 90% at 50% 0%, rgba(249,115,22,.12), transparent 55%),
    #fff;
  border: 1px solid var(--tp-line);
}
.tp-foot-brand-link { display: inline-flex; margin-bottom: .5rem; }
.tp-foot-logo { height: 36px; width: auto; display: block; }
.tp-foot-platform h3 {
  margin: 0 0 .4rem;
  font-size: 1.08rem;
  color: var(--tp-ink);
}
.tp-foot-platform > p {
  margin: 0 auto .85rem;
  max-width: 36rem;
  color: var(--tp-muted);
  font-size: .86rem;
  line-height: 1.55;
}
.tp-foot-links {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .85rem;
  margin-bottom: .6rem;
}
.tp-foot-links a {
  color: #475569; font-size: .76rem; font-weight: 600; text-decoration: none;
}
.tp-foot-links a:hover { color: var(--brand-dark); }
.tp-foot-copy { margin: 0; font-size: .72rem; color: #94a3b8; }
.tp-foot-copy .platform-copy-group { color: inherit; }
.tp-foot-copy .platform-copy-group:hover { color: #64748b; }

@media (max-width: 640px) {
  .trial-link-row { flex-direction: column; align-items: stretch; }
  .trial-link-actions { width: 100%; }
  .trial-link-actions .btn { flex: 1; justify-content: center; }

  .trial-body {
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
  }
  .tp-shell {
    width: min(100% - 1rem, var(--container));
  }
  .tp-main {
    padding: .7rem 0 1rem;
    gap: .7rem;
  }
  .tp-layout { gap: .7rem; }

  .tp-top {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }
  .tp-top-inner {
    padding: .55rem 0;
    gap: .4rem;
  }
  .tp-top-member { display: none; }
  .tp-top-logo {
    height: 22px;
    max-width: min(38vw, 132px);
    width: auto;
    object-fit: contain;
    object-position: left center;
  }
  .tp-top-actions {
    gap: .25rem;
    max-width: 100%;
  }
  .tp-chip {
    padding: .4rem .55rem;
    font-size: .72rem;
    gap: .25rem;
  }
  .tp-chip-primary {
    padding: .4rem .65rem;
  }

  .tp-profile-head { flex-direction: column; align-items: center; text-align: center; }
  .tp-profile.has-cover .tp-avatar-wrap { margin-top: -36px; }
  .tp-avatar { width: 72px; height: 72px; border-radius: 16px; object-fit: contain; }
  .tp-profile h1 { font-size: clamp(1.2rem, 6.5vw, 1.55rem); }
  .tp-tagline { font-size: .84rem; }
  .tp-meta-line { justify-content: center; }
  .tp-cover { aspect-ratio: 16 / 7; }

  .tp-cta {
    white-space: normal;
    line-height: 1.25;
    min-height: 2.6rem;
  }
  .tp-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
  }
  .tp-cta-row .tp-cta {
    width: auto;
    flex: 1 1 calc(33.33% - .25rem);
    min-width: 5.5rem;
    padding: .55rem .35rem;
    font-size: .74rem;
    gap: .25rem;
  }
  .tp-cta-row .tp-cta svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }
  .tp-cta-main {
    min-height: 2.85rem;
    padding: .7rem .85rem;
  }

  .tp-stats { gap: .35rem; }
  .tp-stat { padding: .55rem .55rem; }
  .tp-stat strong { font-size: .8rem; }

  .tp-svc {
    flex-direction: column;
    gap: .45rem;
  }
  .tp-svc-side {
    text-align: left;
    display: flex; align-items: baseline; gap: .35rem;
  }

  .tp-team {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .55rem .65rem;
  }
  .tp-team-acts {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-top: .05rem;
  }
  .tp-icon-btn {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .tp-side-gallery .tp-gal-slider {
    margin: .15rem -.9rem 0;
    width: calc(100% + 1.8rem);
  }
  .tp-gal-stage {
    height: 210px;
    min-height: 210px;
  }
  .tp-gal-nav {
    width: 2rem;
    height: 2rem;
    font-size: 1.2rem;
  }
  .tp-gal-prev { left: .45rem; }
  .tp-gal-next { right: .45rem; }

  .tp-loc-acts {
    display: flex;
    flex-direction: column;
    gap: .4rem;
  }
  .tp-loc-acts .tp-cta {
    width: 100%;
    flex: none;
  }

  .tp-contact-row {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .25rem .65rem;
  }
  .tp-contact-row strong {
    text-align: left;
    flex: 1 1 100%;
  }

  .tp-share-ico {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
  }

  .tp-seg-tabs {
    margin: 0 -.15rem .7rem;
    padding: 0 .15rem .15rem;
  }

  .tp-block { padding: .9rem .85rem .95rem; }
  .tp-profile-body { padding: .85rem .85rem .95rem; }
  .tp-form-block { scroll-margin-top: 4.75rem; }
  .tp-block h2 { font-size: 1rem; }

  .trial-form .form-control,
  .trial-form .form-select,
  .trial-form input[type="date"] {
    padding: .7rem .75rem;
    min-height: 46px;
  }
  .trial-form .form-group { margin-bottom: .15rem; }

  .tp-cv-hero {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .tp-cv-head {
    flex-wrap: wrap;
    gap: .5rem;
  }
  .tp-cv-modal .modal-body {
    padding: .85rem .9rem 1rem;
  }

  .img-zoom-backdrop { padding: .65rem; }
  .img-zoom-inner {
    width: min(100vw - 1.1rem, 960px);
  }
  .img-zoom-frame {
    width: min(100vw - 1.1rem, 960px);
    height: min(68vh, 480px);
    border-radius: 10px;
  }
  .img-zoom-close {
    top: .4rem;
    right: .4rem;
  }
  .img-zoom-prev { left: .25rem; }
  .img-zoom-next { right: .25rem; }

  .tp-foot { padding: .15rem 0 max(1rem, env(safe-area-inset-bottom, 0px)); }
  .tp-foot-platform { padding: 1.1rem .9rem 1rem; }
  .tp-foot-platform > p { font-size: .82rem; }
}

@media (max-width: 400px) {
  .tp-top-actions .tp-chip:not(.tp-chip-primary) .tp-chip-txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .tp-top-actions .tp-chip:not(.tp-chip-primary) {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    justify-content: center;
  }
  .tp-chip-primary .tp-chip-txt { font-size: .7rem; }
  .tp-cta-row .tp-cta {
    flex: 1 1 calc(50% - .2rem);
  }
  .tp-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 719px) {
  .trial-form .form-row-2,
  .trial-form .form-row-3 {
    grid-template-columns: 1fr !important;
  }
}

/* Raporlar */
.report-type-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .55rem;
  margin-bottom: 1rem;
}
.report-type-card {
  display: flex; flex-direction: column; gap: .25rem;
  padding: .75rem .8rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  min-height: 78px;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.report-type-card:hover {
  border-color: #fdba74;
  box-shadow: 0 6px 18px rgba(249, 115, 22, .08);
  transform: translateY(-1px);
}
.report-type-card.is-active {
  border-color: var(--brand);
  background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
  box-shadow: 0 0 0 1px rgba(249, 115, 22, .15);
}
.report-type-card strong { font-size: .88rem; }
.report-type-card span { font-size: .72rem; color: var(--ink-muted); line-height: 1.35; }
.report-filters-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: .65rem;
  align-items: end;
}
.report-filters .filter-actions {
  display: flex; gap: .4rem; align-items: end; flex-wrap: wrap;
}
.report-period-note {
  margin: 0 0 1rem;
  font-size: .85rem;
  color: var(--ink-muted);
}
@media (max-width: 1100px) {
  .report-type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .report-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.modal.modal-report-preview {
  width: min(100%, 920px);
  max-height: min(94dvh, 960px);
}
.report-preview-body {
  position: relative;
  padding: 0 !important;
  flex: 1 1 auto;
  min-height: min(70dvh, 720px);
  background: #e5e7eb;
}
.report-preview-loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink-muted);
  background: #f3f4f6;
  z-index: 1;
}
.report-preview-loading[hidden] { display: none !important; }
.report-preview-frame {
  display: block;
  width: 100%;
  height: min(70dvh, 720px);
  border: 0;
  background: #fff;
}

/* ?? Abonelik / ?deme ?? */
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .02em; }
.sub-hero {
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,247,237,.9)),
    radial-gradient(ellipse at top right, rgba(249,115,22,.16), transparent 55%);
}
.sub-usage { margin-bottom: 1rem; }
.sub-pies {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  justify-items: center;
}
@media (max-width: 820px) {
  .sub-pies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .sub-pies { grid-template-columns: 1fr; }
}
.sub-pie {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  width: 100%;
  max-width: 140px;
}
.sub-pie-ring {
  --pie: 0deg;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: conic-gradient(#f97316 0deg var(--pie), #e2e8f0 var(--pie) 360deg);
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 1px rgba(249, 115, 22, .12);
}
.sub-pie.is-time .sub-pie-ring {
  background: conic-gradient(#ea580c 0deg var(--pie), #e2e8f0 var(--pie) 360deg);
}
.sub-pie-hole {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 1px #f1f5f9;
}
.sub-pie-hole strong {
  font-family: var(--display);
  font-size: .9rem;
  letter-spacing: -.02em;
  color: var(--ink);
}
.sub-pie-meta {
  text-align: center;
  display: grid;
  gap: .1rem;
}
.sub-pie-meta span {
  font-size: .78rem;
  font-weight: 700;
  color: var(--ink-soft);
}
.sub-pie-meta strong {
  font-size: .92rem;
  font-weight: 800;
  color: var(--ink);
}
.sub-plan-grid {
  display: grid; gap: 1rem;
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 720px) {
  .sub-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .sub-plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sub-plan {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1.15rem 1.1rem 1.2rem;
  box-shadow: 0 10px 28px rgba(31,41,55,.04);
  display: flex; flex-direction: column; gap: .65rem;
  min-width: 0;
  height: 100%;
  overflow: visible;
}
.sub-plan .sub-plan-feats {
  flex: 1 1 auto;
  margin-bottom: 0;
}
.sub-plan-foot {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.modal-sub-locked {
  max-width: 420px;
  text-align: center;
}
.sub-lock-ico {
  width: 56px; height: 56px; margin: 0 auto .35rem;
  border-radius: 16px;
  display: grid; place-items: center;
  background: #fff7ed; color: #c2410c;
  border: 1px solid #fdba74;
}
.sub-plan.is-popular {
  border-color: rgba(249,115,22,.45);
  box-shadow: 0 14px 36px rgba(249,115,22,.12);
}
.sub-plan-badge {
  position: absolute; top: .85rem; right: .85rem;
  font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  background: #fff7ed; color: #c2410c; border: 1px solid #fdba74;
  padding: .2rem .45rem; border-radius: 999px;
}
.sub-plan h4 { margin: 0; font-size: 1.15rem; }
.sub-plan-price {
  display: flex; align-items: baseline; gap: .35rem; margin: 0;
}
.sub-plan-price strong {
  font-family: var(--display); font-size: 1.85rem; letter-spacing: -.03em; color: var(--ink);
}
.sub-plan-price span { color: var(--ink-muted); font-size: .85rem; font-weight: 600; }
.sub-plan-limits, .sub-plan-feats {
  margin: 0; padding: 0; list-style: none;
  display: grid; gap: .25rem; font-size: .82rem; color: var(--ink-soft);
}
.sub-plan-feats li::before { content: "\2713\00a0"; color: #16a34a; font-weight: 700; }
.sub-duration {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .28rem;
  padding: .3rem;
  border-radius: 16px;
  background:
    linear-gradient(180deg, #f8fafc, #f1f5f9);
  border: 1px solid var(--line-strong);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.sub-dur {
  appearance: none;
  border: 0;
  margin: 0;
  min-width: 0;
  min-height: 0;
  max-width: none;
  padding: .5rem .2rem .45rem;
  border-radius: 12px;
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .28rem;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  box-sizing: border-box;
}
.sub-dur:hover {
  color: var(--ink);
  background: rgba(255,255,255,.72);
}
.sub-dur:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 1px;
}
.sub-dur-main {
  display: inline-flex;
  align-items: baseline;
  gap: .18rem;
  line-height: 1;
}
.sub-dur-main strong {
  font-family: var(--display);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: inherit;
}
.sub-dur-main span {
  font-size: .72rem;
  font-weight: 700;
  text-transform: lowercase;
  opacity: .8;
}
.sub-dur-save {
  font-style: normal;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  white-space: nowrap;
  padding: .2rem .4rem;
  border-radius: 999px;
  color: #166534;
  background: #dcfce7;
  border: 1px solid #86efac;
}
.sub-dur-save.is-flat {
  color: #94a3b8;
  background: transparent;
  border-color: transparent;
  font-weight: 600;
  padding: .2rem 0;
}
.sub-dur.is-active {
  background: linear-gradient(180deg, #ff9a4d, var(--brand));
  color: #fff;
  box-shadow:
    0 8px 18px rgba(249,115,22,.28),
    inset 0 1px 0 rgba(255,255,255,.35);
  transform: translateY(-1px);
}
.sub-dur.is-active:hover {
  background: linear-gradient(180deg, #ff9a4d, var(--brand-dark));
  color: #fff;
}
.sub-dur.is-active .sub-dur-main span {
  opacity: .92;
}
.sub-dur.is-active .sub-dur-save {
  color: #fff;
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.28);
}
.sub-dur.is-active .sub-dur-save.is-flat {
  color: rgba(255,255,255,.88);
  background: transparent;
  border-color: transparent;
}
.sub-total {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: .55rem .65rem; border-radius: 12px; background: #f8fafc;
  font-size: .85rem;
}
.sub-total strong { font-family: var(--display); font-size: 1.2rem; }
.sub-checkout { margin-bottom: 1rem; }
.sub-resume { margin-bottom: 1rem; }
.sub-resume-row {
  display: flex; flex-wrap: wrap; gap: .75rem;
  align-items: center; justify-content: space-between;
}
.modal-sub-wiz {
  width: min(600px, 100%);
  max-height: min(92vh, 780px);
}
.modal-sub-wiz .modal-body {
  padding-top: .85rem;
  overflow: auto;
  max-height: min(78vh, 640px);
}
.sub-wiz-feats {
  list-style: none;
  margin: 0 0 1rem;
  padding: .75rem .85rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
  display: grid;
  gap: .35rem;
  font-size: .86rem;
}
.sub-wiz-feats li {
  position: relative;
  padding-left: 1.25rem;
  color: var(--ink-soft);
  line-height: 1.35;
}
.sub-wiz-feats li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: #16a34a;
  font-weight: 800;
}
.sub-wiz-feats-empty {
  margin: 0 0 1rem;
  font-size: .85rem;
  color: var(--ink-muted);
}
.modal-sub-receipt {
  width: min(720px, 100%);
  max-height: min(92vh, 860px);
}
.modal-sub-receipt .modal-body {
  padding: .85rem 1rem 1.1rem;
}
.sub-receipt-frame {
  width: 100%;
  min-height: 420px;
  max-height: min(70vh, 640px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #0f172a;
}
.sub-receipt-img {
  display: block;
  width: 100%;
  max-height: min(70vh, 640px);
  object-fit: contain;
  border-radius: 12px;
  background: #0f172a;
}
.modal-payment-receipt {
  width: min(820px, 100%);
  max-height: min(94vh, 920px);
}
.modal-payment-receipt .modal-body {
  padding: .75rem 1rem;
}
.payment-receipt-frame-wrap {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #f3f4f6;
}
.payment-receipt-frame {
  display: block;
  width: 100%;
  min-height: min(68vh, 640px);
  height: min(68vh, 640px);
  border: 0;
  background: #fff;
}
html[data-aidatla-app="1"] #payment-receipt-print,
html[data-aidatla-app="1"] #payment-receipt-pdf,
html[data-aidatla-app="1"] #payment-receipt-tab,
html[data-aidatla-app="1"] [data-hide-in-app] {
  display: none !important;
}
.sub-wiz-steps {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .35rem;
}
.sub-wiz-steps li {
  position: relative;
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
  color: var(--ink-muted);
  padding: .45rem .25rem;
  border-radius: 999px;
  background: #f1f5f9;
}
.sub-wiz-steps li.is-active {
  color: #9a3412;
  background: #ffedd5;
}
.sub-wiz-steps li.is-done {
  color: #166534;
  background: #dcfce7;
}
.sub-iap-legal {
  margin: .85rem 0 0;
  padding: .85rem .95rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #f8fafc;
}
.sub-iap-legal-copy {
  margin: 0 0 .55rem;
  font-size: .78rem;
  line-height: 1.45;
  color: var(--ink-muted);
}
.sub-iap-legal-links {
  margin: 0;
  font-size: .82rem;
  font-weight: 700;
}
.sub-iap-legal-links a { color: var(--brand); }
.sub-iap-err {
  margin: .85rem 0 0;
  padding: .7rem .9rem;
  border-radius: 12px;
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-size: .88rem;
  font-weight: 600;
}
.sub-iap-restore-row {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  justify-content: space-between;
}
.modal-sub-wiz .sub-iap-legal { margin-top: 1rem; }
@media (max-width: 520px) {
  .sub-wiz-steps { grid-template-columns: repeat(2, 1fr); }
}
.sub-order-summary {
  display: grid; gap: .55rem;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 1rem;
  padding: .85rem;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff7ed, #fff);
  border: 1px solid #fed7aa;
}
.sub-order-summary span { display: block; font-size: .72rem; color: var(--ink-muted); font-weight: 700; }
.sub-order-summary strong { font-size: .92rem; }
.sub-copy-grid { display: grid; gap: .5rem; margin-bottom: 1rem; }
.sub-copy-row {
  width: 100%; text-align: left;
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding: .75rem .85rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.sub-copy-row:hover { border-color: var(--brand); background: #fff7ed; }
.sub-copy-row strong { display: block; font-size: .92rem; word-break: break-word; }
.sub-copy-hint {
  flex-shrink: 0;
  font-size: .72rem; font-weight: 800;
  color: var(--brand-dark);
  background: var(--brand-soft);
  padding: .3rem .55rem; border-radius: 999px;
}
.sub-actions {
  display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
}
.sub-admin-list { display: grid; gap: .75rem; }
.stmt-bank-admin-list {
  display: grid;
  gap: .55rem;
}
.stmt-bank-admin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem .75rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.stmt-bank-admin-meta {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.stmt-bank-admin-meta strong {
  font-size: .92rem;
}
.stmt-custom-list {
  display: grid;
  gap: .55rem;
}
.stmt-map-grid {
  display: grid;
  gap: .65rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .stmt-map-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sub-admin-item {
  display: flex; flex-wrap: wrap; gap: .75rem;
  justify-content: space-between; align-items: flex-start;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.sub-admin-acts {
  display: flex; flex-wrap: wrap; gap: .35rem; align-items: center;
}
@media (max-width: 640px) {
  .sub-order-summary { grid-template-columns: 1fr; }
  .sub-admin-acts { width: 100%; }
  .sub-admin-acts .btn { flex: 1 1 auto; justify-content: center; }
}


/* 404 panel */
.err404-ico {
  font-family: var(--display);
  font-size: clamp(2.8rem, 8vw, 4rem);
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--brand);
  line-height: 1;
  margin-bottom: .65rem;
}

/* Landing / abonelik tikler */
.price-feat-blocks {
  display: grid;
  gap: .85rem;
  flex: 1 1 auto;
  margin: .15rem 0 .25rem;
}
.price-feat-group-title {
  margin: 0 0 .4rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.price-feats,
.sub-plan-feats,
.sub-plan-limits {
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
  font-size: .86rem;
  color: var(--ink-soft);
}
.price-card .price-feat-blocks .price-feats {
  flex: 0 0 auto;
}
.price-feats li,
.sub-plan-feats li,
.sub-plan-limits li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  padding: .28rem .15rem;
  line-height: 1.35;
}
.price-feats li::before,
.sub-plan-feats li::before,
.sub-plan-limits li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: #16a34a;
  font-weight: 800;
}
.price-feats li:has(.price-feat-mark)::before,
.price-feats li.is-on::before,
.price-feats li.is-off::before {
  content: none;
}
.price-feat-mark {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .05rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
}
.price-feats li.is-on .price-feat-mark {
  color: #15803d;
  background: #dcfce7;
}
.price-feats li.is-off {
  color: #94a3b8;
}
.price-feats li.is-off .price-feat-mark {
  color: #94a3b8;
  background: #f1f5f9;
}
.price-feat-state {
  margin-left: auto;
  font-style: normal;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #16a34a;
  white-space: nowrap;
}
.price-feats li.is-off .price-feat-state {
  color: #94a3b8;
}

/* Paket modal ozellik satirlari */
.pkg-trial-box {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff7ed;
  margin: .85rem 0;
  overflow: hidden;
}
.pkg-trial-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem .9rem;
  user-select: none;
}
.pkg-trial-summary::-webkit-details-marker { display: none; }
.pkg-trial-summary strong { display: block; font-size: .92rem; }
.pkg-trial-summary em { display: block; font-style: normal; font-size: .75rem; color: var(--ink-muted); margin-top: .15rem; }
.pkg-trial-summary::after {
  content: '';
  width: .55rem;
  height: .55rem;
  border-right: 2px solid var(--ink-muted);
  border-bottom: 2px solid var(--ink-muted);
  transform: rotate(45deg);
  transition: transform .2s ease;
  flex-shrink: 0;
  margin-top: -.15rem;
}
.pkg-trial-box[open] .pkg-trial-summary::after {
  transform: rotate(225deg);
  margin-top: .2rem;
}
.pkg-trial-body {
  padding: 0 .9rem .9rem;
  border-top: 1px solid rgba(249, 115, 22, .12);
}
.pkg-features-box {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .85rem .9rem;
  background: #f8fafc;
}
.pkg-feature-row {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .55rem .35rem;
  cursor: pointer;
  border-radius: 10px;
}
.pkg-feature-row + .pkg-feature-row { border-top: 1px solid var(--line); }
.pkg-feature-row input { margin-top: .2rem; width: 1.05rem; height: 1.05rem; accent-color: var(--brand); }
.pkg-feature-row strong { display: block; font-size: .92rem; }
.pkg-feature-row em { display: block; font-style: normal; font-size: .75rem; color: var(--ink-muted); }
.pkg-push-fields-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem;
  margin-bottom: .55rem;
}
.pkg-push-fields-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.pkg-push-group + .pkg-push-group {
  margin-top: .55rem;
  padding-top: .45rem;
  border-top: 1px dashed var(--line);
}
.pkg-push-group-title {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin: 0 0 .2rem .35rem;
}
.pkg-push-fields.is-disabled {
  opacity: .55;
}

/* Firma paket ?zellikleri paneli */
.co-pkg-panel {
  display: flex;
  flex-direction: column;
  gap: .9rem;
}
.co-pkg-head h4 {
  margin: 0 0 .25rem;
  font-size: 1.05rem;
}
.co-pkg-head p { margin: 0; }
.co-pkg-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .85rem .9rem;
  background: #f8fafc;
}
.co-pkg-card-title {
  margin: 0 0 .65rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.co-pkg-card-hint { margin: -.35rem 0 .65rem; }
.co-pkg-limits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.co-pkg-limits .form-group {
  margin: 0;
  min-width: 0;
}
.co-pkg-limits label {
  margin-bottom: .3rem;
}
.co-pkg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .75rem;
}
.co-pkg-item {
  display: grid !important;
  grid-template-columns: 2.55rem minmax(0, 1fr);
  align-items: center !important;
  gap: .7rem !important;
  margin: 0;
  padding: .55rem .55rem;
  border-radius: 10px;
  cursor: pointer;
  background: #fff;
  border: 1px solid transparent;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  user-select: none;
}
.co-pkg-item:hover {
  border-color: var(--line);
}
.co-pkg-item > input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  width: 2.55rem !important;
  height: 1.45rem !important;
  margin: 0 !important;
  flex-shrink: 0;
  border: 0 !important;
  border-radius: 999px !important;
  background: #d1d5db !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04) !important;
  cursor: pointer;
  transition: background .18s ease;
  accent-color: unset;
}
.co-pkg-item > input[type="checkbox"]::after {
  content: '' !important;
  display: block !important;
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.45rem - 4px);
  height: calc(1.45rem - 4px);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  transition: transform .18s ease;
}
.co-pkg-item > input[type="checkbox"]:checked {
  background: #16a34a !important;
}
.co-pkg-item > input[type="checkbox"]:checked::after {
  transform: translateX(1.1rem);
}
.co-pkg-item > input[type="checkbox"]:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.co-pkg-item > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .12rem;
  line-height: 1.3;
}
.co-pkg-item strong {
  display: block;
  font-size: .88rem;
  line-height: 1.25;
  font-weight: 700;
}
.co-pkg-item em {
  display: block;
  margin: 0;
  font-style: normal;
  font-size: .72rem;
  line-height: 1.35;
  color: var(--ink-muted);
}
.co-pkg-push-group + .co-pkg-push-group {
  margin-top: .7rem;
  padding-top: .55rem;
  border-top: 1px dashed var(--line);
}
.co-pkg-push-title {
  margin: 0 0 .4rem .15rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.co-pkg-reset {
  border: 1px solid var(--line);
  background: #fff7ed;
}
.co-pkg-foot {
  padding: .25rem 0 0;
  margin: 0;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}
@media (max-width: 719px) {
  .co-pkg-limits { grid-template-columns: 1fr; }
  .co-pkg-grid { grid-template-columns: 1fr; }
}
@media (min-width: 720px) and (max-width: 899px) {
  .co-pkg-limits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .co-pkg-grid { grid-template-columns: 1fr; }
}

/* Abonelik hero */
.sub-hero-banner {
  display: grid;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1.25rem 1.2rem;
  border-radius: 22px;
  border: 1px solid rgba(249,115,22,.18);
  background:
    radial-gradient(ellipse at 90% 10%, rgba(249,115,22,.2), transparent 45%),
    linear-gradient(145deg, #fff 0%, #fff7ed 55%, #ffedd5 100%);
  overflow: hidden;
}
@media (min-width: 800px) {
  .sub-hero-banner { grid-template-columns: 1.2fr .8fr; }
}
.sub-hero-copy .lead { max-width: 34rem; }
.sub-hero-visual {
  position: relative;
  min-height: 140px;
  display: grid;
  place-items: center;
}
.sub-hero-orb {
  position: absolute;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fdba74, #f97316 55%, transparent 70%);
  opacity: .55;
  filter: blur(2px);
}
.sub-hero-card {
  position: relative;
  z-index: 1;
  width: min(100%, 220px);
  padding: 1rem 1.05rem;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(249,115,22,.25);
  box-shadow: 0 16px 40px rgba(249,115,22,.18);
  display: grid; gap: .2rem;
}
.sub-hero-card span { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--brand); }
.sub-hero-card strong { font-family: var(--display); font-size: 1.2rem; }
.sub-hero-card small { color: var(--ink-muted); font-size: .78rem; }
.sub-plan-top { display: flex; align-items: center; gap: .65rem; }
.sub-plan-ico {
  width: 40px; height: 40px; border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #fb923c, #f97316);
  color: #fff; font-weight: 800; font-family: var(--display);
  flex-shrink: 0;
}
.sub-plan-desc { margin: 0; font-size: .82rem; color: var(--ink-muted); line-height: 1.4; }
.sub-plan h4 { margin: 0; }

/* Dashboard treemap ? masa?st? 8 kolon, mobil 2 kolon (ayr? yerle?im) */
.dash-treemap-wrap {
  position: relative;
  margin-bottom: .85rem;
}
.dash-treemap-wrap.is-mobile-scroll {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  margin-inline: -.35rem;
  padding-inline: .35rem;
  padding-bottom: .15rem;
}
.dash-treemap-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .45rem;
}
.dash-treemap-bar-actions {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}
.dash-treemap {
  --dash-zoom: 1;
  --dash-cols: 8;
  --dash-row: 88px;
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(var(--dash-cols), minmax(0, 1fr));
  align-items: stretch;
  height: auto;
}
.dash-treemap-tile.stat-card {
  --tile-scale: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  margin: 0;
  border-radius: 10px;
  padding: 0;
  box-shadow: none !important;
  overflow: hidden;
  transition: filter .15s ease, box-shadow .15s ease;
  user-select: none;
  container-type: size;
}
.dash-treemap-tile[hidden] { display: none !important; }
.dash-treemap-tile.stat-card:hover {
  transform: none;
  filter: brightness(1.05);
  color: inherit;
}
.dash-treemap-tile.is-dragging {
  z-index: 6;
  filter: brightness(1.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
}
.dash-treemap-tile.is-resizing {
  outline: 2px solid rgba(255, 255, 255, 0.55);
  outline-offset: -2px;
  z-index: 5;
}

.dash-tile-link {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: clamp(.1rem, 2.2cqh, .45rem);
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(.28rem, 4cqh, .7rem) clamp(.3rem, 3.5cqi, .75rem);
  text-decoration: none;
  color: inherit;
}
.dash-tile-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(.02rem, 1cqh, .2rem);
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
/* Kart boyutuna g?re ikon + metin (container query) */
.dash-treemap-tile:not(.is-stock-table) .stat-ico {
  flex: 0 0 auto;
  flex-shrink: 0;
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  width: clamp(18px, min(16cqi, 20cqh), 58px);
  height: clamp(18px, min(16cqi, 20cqh), 58px);
  min-width: 0;
  min-height: 0;
  border-radius: clamp(5px, min(4cqi, 5cqh), 16px);
  margin: 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.dash-treemap-tile:not(.is-stock-table) .stat-ico svg {
  width: 52%;
  height: 52%;
  flex-shrink: 0;
}
.dash-treemap-tile:not(.is-stock-table) .stat-label {
  margin: 0;
  font-size: clamp(.55rem, min(5.2cqi, 7.5cqh), 1.05rem);
  line-height: 1.15;
  max-width: 100%;
  white-space: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.dash-treemap-tile:not(.is-stock-table) .stat-value {
  font-size: clamp(.78rem, min(11cqi, 16cqh), 2.35rem);
  line-height: 1.05;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* K???k/dar kart: ikon sol ? veri sa? */
.dash-treemap-tile.is-compact .dash-tile-link {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  gap: clamp(.28rem, 3cqi, .55rem);
  padding-left: clamp(.4rem, 3.5cqi, .75rem);
  padding-right: clamp(.4rem, 3.5cqi, .75rem);
}
.dash-treemap-tile.is-compact:not(.is-stock-table) .stat-ico {
  margin: 0;
  flex-shrink: 0;
  width: clamp(18px, min(14cqi, 28cqh), 42px);
  height: clamp(18px, min(14cqi, 28cqh), 42px);
}
.dash-treemap-tile.is-compact .dash-tile-meta {
  align-items: flex-start;
  flex: 1 1 auto;
  text-align: left;
  min-width: 0;
}
.dash-treemap-tile.is-compact:not(.is-stock-table) .stat-label {
  font-size: clamp(.52rem, min(4.6cqi, 9cqh), .9rem);
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.dash-treemap-tile.is-compact:not(.is-stock-table) .stat-value {
  font-size: clamp(.72rem, min(7.5cqi, 18cqh), 1.55rem);
}

/* Y?ksek + geni? (??renci vb.): ortal? ve b?y?k */
.dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .dash-tile-link,
.dash-treemap-tile.is-xl:not(.is-stock-table) .dash-tile-link {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: clamp(.2rem, 3cqh, .55rem);
}
.dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .dash-tile-meta,
.dash-treemap-tile.is-xl:not(.is-stock-table) .dash-tile-meta {
  align-items: center !important;
  text-align: center !important;
}
.dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .stat-ico,
.dash-treemap-tile.is-xl:not(.is-stock-table) .stat-ico {
  margin: 0 auto !important;
  width: clamp(36px, min(22cqi, 22cqh), 72px) !important;
  height: clamp(36px, min(22cqi, 22cqh), 72px) !important;
}
.dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .stat-label,
.dash-treemap-tile.is-xl:not(.is-stock-table) .stat-label {
  font-size: clamp(.75rem, min(6cqi, 8cqh), 1.15rem) !important;
}
.dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .stat-value,
.dash-treemap-tile.is-xl:not(.is-stock-table) .stat-value {
  font-size: clamp(1.6rem, min(18cqi, 22cqh), 3.2rem) !important;
}

/* Y?ksek / geni? kartlarda de?er daha b?y?k */
.dash-treemap-tile.is-tall:not(.is-compact):not(.is-stock-table) .stat-value,
.dash-treemap-tile.is-xl:not(.is-compact):not(.is-stock-table) .stat-value {
  font-size: clamp(.95rem, min(13cqi, 18cqh), 2.6rem);
}
.dash-treemap-tile.is-tall:not(.is-compact):not(.is-stock-table) .stat-ico {
  width: clamp(24px, min(18cqi, 18cqh), 64px);
  height: clamp(24px, min(18cqi, 18cqh), 64px);
}

/* Ekipman stok tablosu ? daha kompakt */
.dash-stock-link {
  align-items: stretch !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: calc(.22rem * var(--tile-scale));
  padding: calc(.35rem * var(--tile-scale)) calc(.4rem * var(--tile-scale)) !important;
  padding-top: max(18px, calc(.35rem * var(--tile-scale))) !important;
  padding-bottom: max(16px, calc(.3rem * var(--tile-scale))) !important;
}
.dash-stock-head {
  display: flex;
  align-items: center;
  gap: .3rem;
  min-width: 0;
  flex-shrink: 0;
}
.dash-stock-head .stat-ico {
  margin: 0;
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
  width: clamp(20px, calc(22px * var(--tile-scale)), 32px);
  height: clamp(20px, calc(22px * var(--tile-scale)), 32px);
  min-width: 20px;
  min-height: 20px;
}
.dash-stock-head .stat-ico svg {
  width: clamp(10px, calc(11px * var(--tile-scale)), 16px);
  height: clamp(10px, calc(11px * var(--tile-scale)), 16px);
}
.dash-stock-head .stat-label {
  font-size: calc(.55rem * var(--tile-scale));
}
.dash-stock-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.14);
  -webkit-overflow-scrolling: touch;
}
.dash-stock-table {
  width: 100%;
  border-collapse: collapse;
  font-size: calc(.68rem * var(--tile-scale));
  color: #fff;
}
.dash-stock-table th,
.dash-stock-table td {
  padding: .22rem .34rem;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}
.dash-stock-table th:first-child,
.dash-stock-table td:first-child {
  max-width: 7rem;
}
.dash-stock-table th {
  font-size: .88em;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  position: sticky;
  top: 0;
  background: rgba(15, 23, 42, 0.4);
  z-index: 1;
}
.dash-stock-table td:last-child,
.dash-stock-table th:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums;
  max-width: 4.5rem;
  white-space: nowrap;
}
.dash-stock-table td.dash-stock-pairs,
.dash-stock-table th:nth-child(2) {
  max-width: none;
  overflow: visible;
  white-space: normal;
}
.dash-stock-pairs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: .28rem .32rem;
  max-width: none !important;
  white-space: normal !important;
  line-height: 1.25;
}
.dash-size-pair {
  display: inline-flex;
  align-items: center;
  gap: .18rem;
  padding: .12rem .32rem;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.12);
  font-size: .92em;
  line-height: 1.2;
  white-space: nowrap;
  flex: 0 0 auto;
}
.dash-size-pair em {
  font-style: normal;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.88);
}
.dash-size-pair i {
  font-style: normal;
  opacity: .4;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.55);
}
.dash-size-pair b {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #fbbf24;
}
.dash-size-pair.is-extra {
  background: rgba(251, 191, 36, 0.18);
}
.dash-size-pair.is-extra b {
  color: #fcd34d;
}
.dash-size-pair.is-zero {
  background: rgba(239, 68, 68, 0.22);
}
.dash-size-pair.is-zero em,
.dash-size-pair.is-zero b {
  color: #fca5a5;
}
.dash-size-pair.is-zero b {
  color: #fecaca;
  font-weight: 900;
}
.dash-stock-table td:last-child {
  color: #fbbf24;
  font-weight: 800;
}
.dash-stock-table td:last-child.is-zero,
.dash-stock-table tr.is-stock-zero td:last-child {
  color: #f87171;
}

.dash-drag-dot,
.dash-resize-dot {
  position: absolute;
  z-index: 6;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.95);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.78);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  touch-action: none;
  display: none;
  color: #fff;
}
.dash-treemap-wrap.is-editing .dash-drag-dot,
.dash-treemap-wrap.is-editing .dash-resize-dot {
  display: grid;
  place-items: center;
}
.dash-treemap-wrap.is-editing .dash-tile-link {
  pointer-events: none;
}
.dash-treemap-wrap.is-editing .dash-treemap-tile.stat-card {
  outline: 2px dashed rgba(255, 255, 255, 0.45);
  outline-offset: -2px;
}
/* S?r?kle: ?st kenar (ortaya yak?n) ? ta??ma boyutu de?i?tirmez */
.dash-drag-dot {
  top: 6px;
  left: 50%;
  right: auto;
  bottom: auto;
  width: 38px;
  height: 38px;
  transform: translateX(-50%);
  cursor: grab;
  background: linear-gradient(145deg, #f97316, #ea580c);
  border-color: rgba(255, 255, 255, 0.9);
}
.dash-drag-dot:active { cursor: grabbing; }
.dash-drag-dot:hover {
  transform: translateX(-50%) scale(1.06);
  filter: brightness(1.08);
}
.dash-drag-dot::before {
  content: '';
  width: 12px;
  height: 10px;
  box-sizing: border-box;
  background-image:
    radial-gradient(circle, #fff 1.35px, transparent 1.5px),
    radial-gradient(circle, #fff 1.35px, transparent 1.5px),
    radial-gradient(circle, #fff 1.35px, transparent 1.5px),
    radial-gradient(circle, #fff 1.35px, transparent 1.5px),
    radial-gradient(circle, #fff 1.35px, transparent 1.5px),
    radial-gradient(circle, #fff 1.35px, transparent 1.5px);
  background-size: 4px 4px;
  background-position:
    0 0, 6px 0,
    0 5px, 6px 5px,
    0 10px, 6px 10px;
  background-repeat: no-repeat;
  opacity: .95;
}
.dash-drag-dot::after { content: none; }
/* Boyutland?r: sa? kenar (ortaya yak?n) */
.dash-resize-dot {
  top: 50%;
  left: auto;
  right: 6px;
  bottom: auto;
  transform: translateY(-50%);
  cursor: nwse-resize;
  background: linear-gradient(145deg, #0ea5e9, #0284c7);
  border-color: rgba(255, 255, 255, 0.9);
}
.dash-resize-dot:hover {
  transform: translateY(-50%) scale(1.08);
  filter: brightness(1.08);
}
.dash-resize-dot::before {
  content: '';
  width: 12px;
  height: 12px;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  border-radius: 0 0 2px 0;
  margin-top: -2px;
  margin-left: -2px;
}
.dash-resize-dot::after { content: none; }

.dash-treemap-tools {
  display: flex;
  gap: 2px;
  background: rgba(15, 23, 42, 0.72);
  border-radius: 8px;
  padding: 2px;
}
.dash-treemap-zoom {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.dash-treemap-zoom:hover { background: rgba(255, 255, 255, 0.14); }
.dash-treemap-hint { margin: .4rem 0 0; }
/* D?zenle ?ubu?u masa?st? ve mobilde g?r?n?r */

.dash-add-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .45rem;
}
@media (max-width: 480px) {
  .dash-add-list { grid-template-columns: 1fr; }
}
.dash-add-item {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .65rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  cursor: pointer;
  background: #fff;
}
.dash-add-item:hover { border-color: var(--brand, #c47d12); }

@media (max-width: 719px) {
  .dash-treemap {
    gap: 6px;
    --dash-cols: 2;
    --dash-row: 112px;
  }
  .dash-treemap-tile.stat-card { border-radius: 10px; }
  .dash-tile-meta {
    overflow: hidden;
    flex: 1 1 auto;
    min-width: 0;
  }
  /* K?sa kart: y?kseklik bask?n */
  @container (max-height: 120px) {
    .dash-treemap-tile:not(.is-stock-table) .stat-ico {
      width: clamp(18px, 22cqh, 34px) !important;
      height: clamp(18px, 22cqh, 34px) !important;
    }
    .dash-treemap-tile:not(.is-stock-table) .stat-label {
      font-size: clamp(.5rem, 7.5cqh, .75rem) !important;
    }
    .dash-treemap-tile:not(.is-stock-table) .stat-value {
      font-size: clamp(.68rem, 14cqh, 1.1rem) !important;
    }
  }
  /* Dar yar?m kart */
  @container (max-width: 170px) {
    .dash-treemap-tile:not(.is-stock-table) .stat-value {
      font-size: clamp(.68rem, 10cqi, 1rem) !important;
    }
    .dash-treemap-tile:not(.is-stock-table) .stat-label {
      font-size: clamp(.5rem, 5.5cqi, .72rem) !important;
    }
  }
  /* B?y?k / y?ksek kart (??renci vb.) */
  @container (min-height: 160px) {
    .dash-treemap-tile:not(.is-compact):not(.is-stock-table) .stat-ico,
    .dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .stat-ico,
    .dash-treemap-tile.is-xl:not(.is-stock-table) .stat-ico {
      width: clamp(40px, 20cqh, 68px) !important;
      height: clamp(40px, 20cqh, 68px) !important;
    }
    .dash-treemap-tile:not(.is-compact):not(.is-stock-table) .stat-value,
    .dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .stat-value,
    .dash-treemap-tile.is-xl:not(.is-stock-table) .stat-value {
      font-size: clamp(1.7rem, 18cqh, 3rem) !important;
    }
    .dash-treemap-tile:not(.is-compact):not(.is-stock-table) .stat-label,
    .dash-treemap-tile.is-wide.is-tall:not(.is-stock-table) .stat-label,
    .dash-treemap-tile.is-xl:not(.is-stock-table) .stat-label {
      font-size: clamp(.78rem, 6.5cqh, 1.1rem) !important;
    }
  }
  /* Geni? k?sa kart (gelir): de?ere y?kseklik s?n?r? */
  @container (min-width: 200px) and (max-height: 130px) {
    .dash-treemap-tile.is-compact:not(.is-stock-table) .stat-value {
      font-size: clamp(.7rem, 12cqh, 1.05rem) !important;
    }
    .dash-treemap-tile.is-compact:not(.is-stock-table) .stat-label {
      font-size: clamp(.52rem, 7cqh, .72rem) !important;
    }
    .dash-treemap-tile.is-compact:not(.is-stock-table) .stat-ico {
      width: clamp(20px, 24cqh, 32px) !important;
      height: clamp(20px, 24cqh, 32px) !important;
    }
  }
  /* ekipman: mobil kart sat?r? ? y???lma yok */
  .dash-treemap-tile.is-stock-table .dash-stock-head .stat-ico {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
  }
  .dash-treemap-tile.is-stock-table .dash-stock-head .stat-ico svg {
    width: 12px;
    height: 12px;
  }
  .dash-treemap-tile.is-stock-table .dash-stock-head .stat-label {
    font-size: .74rem;
  }
  .dash-stock-table {
    font-size: .72rem;
    display: block;
    width: 100%;
  }
  .dash-stock-table thead { display: none; }
  .dash-stock-table tbody { display: block; width: 100%; }
  .dash-stock-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .2rem .45rem;
    padding: .4rem .35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    width: 100%;
    box-sizing: border-box;
  }
  .dash-stock-table td {
    display: block;
    max-width: none !important;
    overflow: visible !important;
    white-space: normal !important;
    border-bottom: 0 !important;
    padding: 0 !important;
  }
  .dash-stock-table td:first-child {
    grid-column: 1;
    font-weight: 700;
    align-self: center;
  }
  .dash-stock-table td:last-child {
    grid-column: 2;
    align-self: center;
    text-align: right;
    font-size: .85rem;
  }
  .dash-stock-table td.dash-stock-pairs {
    grid-column: 1 / -1;
    margin-top: .15rem;
  }
  .dash-stock-pairs {
    gap: .22rem .28rem;
  }
  .dash-size-pair {
    padding: .1rem .28rem;
    font-size: .7rem;
  }
  .dash-drag-dot {
    width: 40px;
    height: 40px;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
  }
  .dash-resize-dot {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    top: 50%;
    right: 5px;
    bottom: auto;
    transform: translateY(-50%);
  }
}

/* Site ops: toplant? / bak?m / anket kartlar? */
.site-ops-grid { margin-top: .25rem; }
.site-ops-grid--polls .site-ops-card { min-height: 300px; }
.site-ops-card .gc-actions { margin-top: auto; }
.site-ops-details {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .55rem .75rem;
  background: #fafafa;
}
.site-ops-details summary {
  cursor: pointer;
  font-size: .82rem;
  font-weight: 700;
  color: var(--ink-muted);
}
.site-ops-details p {
  margin: .55rem 0 0;
  white-space: pre-wrap;
  font-size: .88rem;
  color: var(--ink);
  line-height: 1.45;
}
.site-ops-files {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.site-poll-hint {
  margin: 0;
  font-weight: 600;
}
.site-poll-hint.is-ok { color: #15803d; }
.site-poll-options {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.site-poll-opt {
  display: block;
  cursor: pointer;
  margin: 0;
}
.site-poll-opt input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.site-poll-opt-face {
  display: block;
  padding: .7rem .85rem;
  border: 1.5px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font-weight: 650;
  color: var(--ink);
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.site-poll-opt:hover .site-poll-opt-face {
  border-color: color-mix(in srgb, var(--brand, #c47d12) 55%, var(--line));
}
.site-poll-opt input:checked + .site-poll-opt-face {
  border-color: var(--brand, #c47d12);
  background: color-mix(in srgb, var(--brand, #c47d12) 10%, #fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand, #c47d12) 18%, transparent);
}
.site-poll-opt input:focus-visible + .site-poll-opt-face {
  outline: 2px solid var(--brand, #c47d12);
  outline-offset: 2px;
}
.site-poll-results {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.site-poll-result-row {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  font-size: .86rem;
}
.site-poll-result-row strong { color: var(--ink); font-weight: 700; }
.site-poll-result-row span { color: var(--ink-muted); white-space: nowrap; }
.site-poll-bar {
  margin-top: .3rem;
  height: 7px;
  border-radius: 99px;
  background: #f3f4f6;
  overflow: hidden;
}
.site-poll-bar i {
  display: block;
  height: 100%;
  background: var(--brand, #c47d12);
  border-radius: inherit;
}
.site-poll-results li.is-mine .site-poll-result-row strong { color: var(--brand, #c47d12); }
.site-poll-results li.is-mine .site-poll-bar {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand, #c47d12) 35%, transparent);
}

.site-poll-voters-block {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.site-poll-voters-block header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .55rem;
}
.site-poll-voters {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.site-poll-voters li {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .45rem .2rem;
  border-top: 1px dashed var(--line);
}
.site-poll-voters li:first-child { border-top: 0; }
.site-poll-voter-meta {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}
.site-poll-voters-inline {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-top: .4rem;
}
.site-poll-voter-chip {
  display: inline-flex;
  align-items: center;
  padding: .18rem .5rem;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid var(--line);
  font-size: .72rem;
  font-weight: 650;
  color: var(--ink-muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.site-poll-results li.is-mine .site-poll-voter-chip {
  border-color: color-mix(in srgb, var(--brand, #c47d12) 40%, var(--line));
  color: var(--ink);
}

.site-poll-waiting {
  margin-top: .35rem;
  padding: .75rem .85rem;
  border-radius: 12px;
  border: 1px dashed var(--line);
  background: #fafafa;
}

/* Sakin paneli: daire kartlar? */
.site-unit-grid {
  margin-top: .15rem;
}
.site-unit-card {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  border-color: color-mix(in srgb, var(--line) 80%, transparent);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, .96) 0%, rgba(252, 248, 242, .92) 55%, rgba(255, 255, 255, .98) 100%);
}
.site-unit-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #16a34a;
}
.site-unit-card.is-pending::before { background: #d97706; }
.site-unit-card.is-overdue::before { background: #dc2626; }
.site-unit-card .gc-head h3 {
  font-size: 1.05rem;
  letter-spacing: -.01em;
}
.site-unit-card .gc-fee {
  font-variant-numeric: tabular-nums;
}
.site-unit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: auto;
}
.site-unit-actions .gc-btn {
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}

/* Veli / sakin: y?ll?k aidat tablosu (Ocak?Aral?k) */
.fee-year-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.fee-year-table {
  min-width: 920px;
  border-collapse: separate;
  border-spacing: 0;
}
.fee-year-table th,
.fee-year-table td {
  text-align: center;
  vertical-align: middle;
  padding: .55rem .35rem;
  font-size: .78rem;
}
.fee-year-table th.fee-year-name,
.fee-year-table td.fee-year-name {
  text-align: left;
  min-width: 140px;
}
.fee-year-table th.fee-year-sticky,
.fee-year-table td.fee-year-sticky {
  text-align: left;
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
  min-width: 140px;
  box-shadow: 4px 0 8px -6px rgba(15, 23, 42, .25);
}
.fee-year-table thead th.fee-year-sticky {
  z-index: 3;
}
.fee-year-month.is-current {
  color: var(--brand, #ea580c);
  font-weight: 800;
}
.fee-year-cell {
  min-width: 78px;
  max-width: 96px;
  line-height: 1.25;
  white-space: normal !important;
  overflow: visible;
  word-break: break-word;
}
.fee-year-cell.is-empty {
  color: #94a3b8;
}
.fee-year-cell.is-passive {
  background: #f1f5f9;
  color: #64748b;
}
.fee-year-passive {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.fee-year-cell.is-paid {
  background: #ecfdf5;
}
.fee-year-cell.is-partial {
  background: #eff6ff;
}
.fee-year-cell.is-pending {
  background: #fff7ed;
}
.fee-year-cell.is-overdue {
  background: #fef2f2;
}
.fee-year-ok {
  display: block;
  font-weight: 800;
  color: #059669;
}
.fee-year-amt {
  display: block;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #1e293b;
}
.fee-year-cell.is-partial .fee-year-amt {
  color: #1d4ed8;
}
.fee-year-tag {
  display: block;
  margin: 0 0 .12rem;
  font-size: .62rem;
  font-weight: 800;
  color: #2563eb;
  letter-spacing: .01em;
  line-height: 1.2;
}
.fee-year-tag.is-late {
  color: #dc2626;
}
.fee-year-sub {
  display: block;
  font-size: .6rem;
  color: #64748b;
  margin-top: .12rem;
  line-height: 1.25;
  white-space: normal;
}
.fee-year-dash {
  color: #cbd5e1;
}
.fee-year-pay {
  margin-top: .25rem;
}
.fee-year-pay .btn {
  padding: .15rem .4rem;
  font-size: .65rem;
  line-height: 1.2;
}
.text-success {
  color: #059669;
}

/* Ad soyad: icerige gore genisler, kelime bolunmez; hucre disina tasma yok */
table.data:not(.dash-ops-table) td:has(> .profile-chip),
table.data:not(.dash-ops-table) td:has(> .co-cell) {
  width: 1%;
  white-space: nowrap;
  overflow: hidden;
  background-color: #fff;
}
table.data:not(.dash-ops-table) tbody tr.is-student-passive td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-student-passive td:has(> .co-cell),
table.data:not(.dash-ops-table) tbody tr.is-parent-passive td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-parent-passive td:has(> .co-cell) {
  background-color: rgba(220, 38, 38, 0.07);
}
table.data:not(.dash-ops-table) tbody tr:hover td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr:hover td:has(> .co-cell),
table.data:not(.dash-ops-table) tbody tr:focus-within td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr:focus-within td:has(> .co-cell),
table.data:not(.dash-ops-table) tbody tr.is-clickable:hover td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-clickable:hover td:has(> .co-cell) {
  background-color: var(--brand-soft, #fff7ed);
}
table.data:not(.dash-ops-table) tbody tr.is-student-passive:hover td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-student-passive:hover td:has(> .co-cell),
table.data:not(.dash-ops-table) tbody tr.is-student-passive:focus-within td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-student-passive:focus-within td:has(> .co-cell),
table.data:not(.dash-ops-table) tbody tr.is-parent-passive:hover td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-parent-passive:hover td:has(> .co-cell),
table.data:not(.dash-ops-table) tbody tr.is-parent-passive:focus-within td:has(> .profile-chip),
table.data:not(.dash-ops-table) tbody tr.is-parent-passive:focus-within td:has(> .co-cell) {
  background-color: rgba(220, 38, 38, 0.12);
}
table.data:not(.dash-ops-table) .profile-chip,
table.data:not(.dash-ops-table) .co-cell {
  max-width: none;
  min-width: 0;
  width: max-content;
  align-items: center;
}
table.data:not(.dash-ops-table) .profile-chip-name,
table.data:not(.dash-ops-table) .co-cell-text strong,
table.data:not(.dash-ops-table) .co-cell-text .name-full,
table.data:not(.dash-ops-table) .name-2line {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  max-width: none !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}
/* Mobil: tablo icerige gore genisler, yatay kaydir; ustune binme olmaz */
@media (max-width: 959px) {
  .table-wrap,
  .sd-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  table.data:not(.pay-detail-table):not(.pay-history-table):not(.dash-ops-table) {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
  }
  table.data:not(.dash-ops-table) td:has(> .profile-chip),
  table.data:not(.dash-ops-table) td:has(> .co-cell) {
    width: 1% !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  table.data:not(.dash-ops-table) .profile-chip,
  table.data:not(.dash-ops-table) .co-cell {
    width: max-content !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  table.data:not(.dash-ops-table) .profile-chip-name,
  table.data:not(.dash-ops-table) .co-cell-text strong,
  table.data:not(.dash-ops-table) .co-cell-text .name-full,
  table.data:not(.dash-ops-table) .name-2line {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    max-width: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }
  /* Satir hover z-index ile komsu hucrelerin ustune cikmasin */
  table.data tbody tr,
  table.data tbody tr:hover,
  table.data tbody tr:focus-within {
    z-index: auto !important;
  }
}


/* Halka a??k aidat ?deme wizard */
.fee-pub-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(ellipse at top left, rgba(249, 115, 22, 0.14), transparent 45%),
    linear-gradient(180deg, #fff7ed 0%, #f8fafc 48%, #fff 100%);
}
.fee-pub-shell {
  width: min(100%, 560px);
  margin: 0 auto;
  padding: 1.25rem 1rem 2rem;
}
.fee-pub-brand {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: 1rem;
}
.fee-pub-logo {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}
.fee-pub-brand strong {
  display: block;
  font-size: 1.05rem;
}
.fee-pub-brand span {
  display: block;
  font-size: .82rem;
  color: var(--ink-muted);
}
.fee-pub-card {
  padding: 1.15rem 1.1rem 1.25rem;
}
.fee-pub-foot {
  text-align: center;
  margin: 1rem 0 0;
}
.fee-pub-copy .sub-copy-row.is-warn {
  border-color: #f59e0b;
  background: #fffbeb;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.22);
}
.fee-pub-copy .sub-copy-row.is-warn:hover {
  border-color: #d97706;
  background: #fef3c7;
}
.fee-pub-copy .sub-copy-row.is-warn .tiny {
  color: #b45309;
  font-weight: 700;
}
.fee-pub-copy .sub-copy-row.is-warn strong {
  color: #92400e;
}

/* Para gizleme (dashboard / muhasebe) */
.money-privacy-btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.money-privacy-btn .money-privacy-ico {
  display: inline-flex;
  line-height: 0;
}
.money-privacy-btn .money-privacy-lbl {
  font-weight: 700;
}
html.money-privacy-on [data-money] {
  filter: blur(7px);
  user-select: none;
  transition: filter .15s ease;
}
html.money-privacy-on [data-money]::selection {
  background: transparent;
}

/* Şube yetkili / firma yönetici çoklu atama */
.branch-auth-list {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  max-height: 220px;
  overflow: auto;
  padding: .55rem .65rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  background: #fff;
}
.branch-auth-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  padding: .2rem 0;
}
.branch-auth-check {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
  flex: 1;
  margin: 0;
  cursor: pointer;
  font-weight: 600;
  font-size: .9rem;
}
.branch-auth-check input.no-ui-toggle {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  accent-color: var(--brand, #f97316);
}
.branch-auth-primary {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin: 0;
  flex: 0 0 auto;
  font-size: .75rem;
  font-weight: 700;
  color: var(--ink-muted);
  white-space: nowrap;
  cursor: pointer;
}
.branch-auth-primary input {
  accent-color: var(--brand, #f97316);
}

/* Deneme sayfası: şube bölümleri */
.tp-branch-block { display: grid; gap: .85rem; }
.tp-branch-sub {
  margin: .35rem 0 0;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-muted, #64748b);
}
.tp-branch-loc { display: grid; gap: .45rem; }
.tp-branch-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.tp-side-locations {
  display: grid;
  gap: .85rem;
}
.tp-side-loc {
  padding-top: .15rem;
}
.tp-side-loc + .tp-side-loc {
  border-top: 1px solid var(--tp-line, rgba(15,23,42,.08));
  padding-top: .85rem;
}
.tp-side-loc-title {
  margin: 0 0 .45rem;
  font-size: .92rem;
  font-weight: 800;
}
.tp-side-loc-title a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: inherit;
  text-decoration: none;
}
.tp-side-loc-title a:hover {
  color: var(--brand, #f97316);
}
.tp-konum-block .tp-map {
  margin-top: .25rem;
}

/* Resim büyütme (lightbox) */
.img-zoom-backdrop {
  position: fixed;
  inset: 0;
  z-index: 12000;
  background: rgba(15, 23, 42, 0.88);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s;
}
.img-zoom-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.img-zoom-inner {
  position: relative;
  width: min(96vw, 960px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
}
.img-zoom-frame {
  width: min(96vw, 960px);
  height: min(78vh, 640px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  background: #0f172a;
  overflow: hidden;
}
.img-zoom-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #0f172a;
}
.img-zoom-close {
  position: absolute;
  top: -0.55rem;
  right: -0.55rem;
  z-index: 3;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  border: 0;
  background: #fff;
  color: #0f172a;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.img-zoom-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.95);
  color: #0f172a;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,.28);
}
.img-zoom-prev { left: .35rem; }
.img-zoom-next { right: .35rem; }
.img-zoom-nav[hidden],
.img-zoom-counter[hidden] { display: none !important; }
.img-zoom-counter {
  background: rgba(15,23,42,.72);
  color: #fff;
  font-size: .78rem;
  font-weight: 650;
  padding: .2rem .55rem;
  border-radius: 999px;
}
@media (max-width: 640px) {
  .img-zoom-frame {
    width: min(96vw, 960px);
    height: min(70vh, 520px);
  }
  .img-zoom-nav {
    width: 2.1rem;
    height: 2.1rem;
    font-size: 1.25rem;
  }
  .img-zoom-prev { left: .15rem; }
  .img-zoom-next { right: .15rem; }
}
[data-image-zoom],
.profile-chip-img {
  cursor: zoom-in;
}


