/* Rüya Ailem R7.9.3 — yalnızca öğretmen ve veli görünümü.
   Yönetici ekranı ve mevcut alt navigasyon özellikle kapsam dışıdır. */

.role-teacher,
.role-parent {
  --r792-ink: #101d41;
  --r792-muted: #5e6980;
  --r792-purple: #6526d9;
  --r792-purple-dark: #4c16c6;
  --r792-line: #e8e9f1;
  --r792-shadow: 0 10px 30px rgba(38, 30, 86, .08);
  --r792-soft-shadow: 0 5px 18px rgba(38, 30, 86, .07);
  color: var(--r792-ink);
}

.role-teacher .main,
.role-parent .main {
  background:
    radial-gradient(circle at 2% 2%, rgba(225, 215, 255, .42), transparent 24rem),
    linear-gradient(180deg, #fcfcff 0%, #f7f8fc 100%);
}

.role-teacher .main > .topbar,
.role-parent .main > .topbar {
  border: 1px solid rgba(234, 232, 244, .92);
  box-shadow: 0 8px 24px rgba(34, 28, 71, .05);
}

.role-teacher .main h1,
.role-teacher .main h2,
.role-teacher .main h3,
.role-parent .main h1,
.role-parent .main h2,
.role-parent .main h3 {
  color: var(--r792-ink);
  letter-spacing: -.025em;
}

.ruya-r792-home {
  width: min(100%, 1120px);
  margin: 0 auto;
  display: grid;
  gap: 20px;
  padding-bottom: 30px;
}

.ruya-r792-home button {
  font: inherit;
}

.ruya-r792-hero {
  min-height: 220px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(130, 94, 220, .17);
  border-radius: 30px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.85), transparent 17rem),
    linear-gradient(125deg, #f1eaff 0%, #eee7ff 55%, #fff2c9 100%);
  box-shadow: var(--r792-soft-shadow);
}

.ruya-r792-teacher-hero {
  background:
    radial-gradient(circle at 24% 20%, rgba(255,255,255,.78), transparent 18rem),
    linear-gradient(122deg, #eee7ff 0%, #f0e8ff 58%, #fff0b8 100%);
}

.ruya-r792-hero::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -100px;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
}

.ruya-r792-hero-copy {
  position: relative;
  z-index: 2;
  width: 68%;
  padding: 34px 36px;
}

.ruya-r792-hero-copy h1 {
  margin: 0 0 10px;
  font-size: clamp(25px, 3.1vw, 39px);
  line-height: 1.12;
  font-weight: 850;
}

.ruya-r792-hero-copy h1 span {
  display: inline-block;
  transform: rotate(-8deg);
}

.ruya-r792-hero-copy p {
  margin: 0;
  color: #39445e;
  font-size: clamp(15px, 1.7vw, 20px);
  font-weight: 600;
}

.ruya-r792-hero-copy i {
  display: block;
  margin-top: 28px;
  color: #ab81ff;
  font-size: 36px;
  line-height: 1;
  font-style: normal;
}

.ruya-r792-hero > img {
  position: absolute;
  z-index: 1;
  right: 16px;
  bottom: -5px;
  height: 95%;
  max-width: 42%;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 14px 14px rgba(50,35,90,.11));
}

.ruya-r792-switch-child {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  border: 1px solid rgba(101,38,217,.16);
  border-radius: 999px;
  padding: 9px 13px;
  background: rgba(255,255,255,.9);
  color: var(--r792-purple-dark);
  font-weight: 750;
  box-shadow: 0 5px 15px rgba(69,31,132,.1);
}

.ruya-r792-summary,
.ruya-r792-now,
.ruya-r792-quick-info,
.ruya-r792-alerts,
.ruya-r792-other,
.ruya-r792-favorites,
.ruya-r792-students {
  border: 1px solid var(--r792-line);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--r792-soft-shadow);
}

.ruya-r792-summary {
  padding: 22px;
}

.ruya-r792-summary > h2,
.ruya-r792-now > h2,
.ruya-r792-quick-info > h2 {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 850;
}

.ruya-r792-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ruya-r792-summary-item {
  min-width: 0;
  min-height: 132px;
  padding: 14px 10px 13px;
  border: 1px solid rgba(101,38,217,.11);
  border-radius: 22px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  background: linear-gradient(145deg, #f5f0ff, #fcfaff);
  color: var(--r792-ink);
  text-align: center;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}

.ruya-r792-summary-item:hover,
.ruya-r792-summary-item:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(67, 42, 119, .11);
}

.ruya-r792-summary-item.present,
.ruya-r792-summary-item.meal { background: linear-gradient(145deg, #ebfbf2, #f8fffb); border-color: #cdeeda; }
.ruya-r792-summary-item.absent { background: linear-gradient(145deg, #fff0f3, #fffafb); border-color: #f6d6dc; }
.ruya-r792-summary-item.birthday,
.ruya-r792-summary-item.photos { background: linear-gradient(145deg, #fff9e7, #fffdf7); border-color: #f5e5bb; }
.ruya-r792-summary-item.sleep { background: linear-gradient(145deg, #eaf8ff, #f8fdff); border-color: #c9e7f7; }

.ruya-r792-summary-item > span {
  width: 43px;
  height: 43px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(101,38,217,.1);
  color: #7550dd;
  font-size: 25px;
  font-weight: 900;
}

.ruya-r792-summary-item > img {
  width: 58px;
  height: 52px;
  object-fit: contain;
}

.ruya-r792-summary-item > b {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 23px;
  line-height: 1.12;
  font-weight: 900;
}

.ruya-r792-parent-home .ruya-r792-summary-item > b {
  font-size: 17px;
}

.ruya-r792-summary-item > small {
  color: #4f5a70;
  font-size: 13px;
  font-weight: 650;
}

.ruya-r792-now,
.ruya-r792-quick-info {
  padding: 20px;
}

.ruya-r792-now > button,
.ruya-r792-quick-info > button {
  width: 100%;
  min-height: 70px;
  border: 1px solid #e5d6ff;
  border-radius: 20px;
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: linear-gradient(100deg, #fbf8ff 0%, #f2e9ff 70%, #f8f3ff 100%);
  color: var(--r792-ink);
  text-align: left;
  cursor: pointer;
}

.ruya-r792-now > button > span,
.ruya-r792-quick-info > button > span {
  color: #8b55e9;
  font-size: 27px;
}

.ruya-r792-now > button > small {
  color: #7047c7;
  font-size: 14px;
  font-weight: 800;
}

.ruya-r792-now > button > p,
.ruya-r792-quick-info > button > p {
  margin: 0;
  color: #4f5a70;
  font-weight: 650;
}

.ruya-r792-now > button > b,
.ruya-r792-quick-info > button > b {
  border-radius: 14px;
  padding: 13px 18px;
  background: linear-gradient(135deg, #722ced, #4c16c6);
  color: #fff;
  box-shadow: 0 8px 17px rgba(92,30,210,.23);
  font-size: 14px;
  white-space: nowrap;
}

.ruya-r792-quick-info > button {
  grid-template-columns: auto 1fr auto;
}

.ruya-r792-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ruya-r792-feature-card {
  position: relative;
  min-width: 0;
  min-height: 178px;
  overflow: hidden;
  border: 1px solid rgba(80,65,125,.1);
  border-radius: 27px;
  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: center;
  padding: 16px 18px 16px 10px;
  background: #f4efff;
  box-shadow: var(--r792-soft-shadow);
  color: var(--r792-ink);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}

.ruya-r792-feature-card::after {
  content: "";
  position: absolute;
  inset: auto -45px -75px auto;
  width: 145px;
  height: 145px;
  border-radius: 50%;
  background: rgba(255,255,255,.38);
}

.ruya-r792-feature-card:hover,
.ruya-r792-feature-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(42,31,81,.13);
}

.ruya-r792-feature-card.blue { background: linear-gradient(135deg, #d8f4ff, #e8f8ff); border-color: #b9e4f4; }
.ruya-r792-feature-card.mint { background: linear-gradient(135deg, #ddfae9, #effff6); border-color: #beeccc; }
.ruya-r792-feature-card.peach { background: linear-gradient(135deg, #ffe5c7, #fff2df); border-color: #f3cfa5; }
.ruya-r792-feature-card.rose { background: linear-gradient(135deg, #ffe1ec, #fff2f7); border-color: #f3cada; }
.ruya-r792-feature-card.lilac { background: linear-gradient(135deg, #e8ddff, #f5efff); border-color: #d7c5fa; }
.ruya-r792-feature-card.aqua { background: linear-gradient(135deg, #d9f6f5, #ecfffe); border-color: #bce7e5; }
.ruya-r792-feature-card.yellow { background: linear-gradient(135deg, #fff0c7, #fff9e6); border-color: #f1dcaa; }

.ruya-r792-feature-card > img {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 145px;
  object-fit: contain;
  filter: drop-shadow(0 10px 10px rgba(45,34,77,.13));
}

.ruya-r792-feature-card > div {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.ruya-r792-feature-card h3 {
  margin: 0 0 6px;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.08;
  font-weight: 900;
}

.ruya-r792-feature-card p {
  margin: 0 0 12px;
  color: #4f5a70;
  font-size: 14px;
  font-weight: 600;
}

.ruya-r792-feature-card div > span {
  display: inline-flex;
  max-width: 100%;
  border: 1px solid rgba(101,38,217,.09);
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(255,255,255,.55);
  color: #5733a7;
  font-size: 13px;
  font-weight: 800;
}

.ruya-r792-alerts,
.ruya-r792-other,
.ruya-r792-favorites,
.ruya-r792-students {
  padding: 22px;
}

.ruya-r792-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.ruya-r792-section-head small {
  display: block;
  margin-bottom: 4px;
  color: #8b62dc;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.ruya-r792-section-head h2 {
  margin: 0;
  font-size: 21px;
  font-weight: 900;
}

.ruya-r792-section-head > b,
.ruya-r792-section-head > button {
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  background: #f1eaff;
  color: #6331bf;
  font-size: 12px;
  font-weight: 850;
}

.ruya-r792-other > div:last-child,
.ruya-r792-favorites > div:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ruya-r792-other > div:last-child > button,
.ruya-r792-favorites > div:last-child > button {
  min-width: 0;
  border: 1px solid #ece8f5;
  border-radius: 17px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 12px;
  background: #fcfbff;
  color: var(--r792-ink);
  text-align: left;
}

.ruya-r792-other > div:last-child > button > span,
.ruya-r792-favorites > div:last-child > button > span {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #f0e8ff;
}

.ruya-r792-other > div:last-child > button > b,
.ruya-r792-favorites > div:last-child > button > b {
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
  white-space: nowrap;
}

.ruya-r792-other > div:last-child > button > i,
.ruya-r792-favorites > div:last-child > button > i {
  color: #8c6bd2;
  font-style: normal;
}

.ruya-r792-students > div:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ruya-r792-students > div:last-child > button {
  min-width: 0;
  border: 1px solid #ece8f5;
  border-radius: 17px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 11px;
  background: #fff;
  color: var(--r792-ink);
  text-align: left;
}

.ruya-r792-students > div:last-child > button > b,
.ruya-r792-students > div:last-child > button > small {
  grid-column: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ruya-r792-students > div:last-child > button > small {
  margin-top: -8px;
  color: var(--r792-muted);
}

.ruyaR792Loading {
  min-height: 260px;
  display: grid;
  place-items: center;
  color: var(--r792-muted);
  font-weight: 700;
}

/* Bütün öğretmen ve veli alt ekranlarında aynı yüzey, alan ve aksiyon dili. */
.role-teacher .main .card,
.role-teacher .main .v5ParentPage > section,
.role-teacher .main .attendanceWorkspace,
.role-teacher .main .dailyWorkspace,
.role-teacher .main .messagingLayout,
.role-parent .main .card,
.role-parent .main .v5ParentPage > section,
.role-parent .main .attendanceWorkspace,
.role-parent .main .dailyWorkspace,
.role-parent .main .messagingLayout,
.role-parent .main .v5Cards > article,
.role-parent .main .v5SurveyGrid > article {
  border-color: var(--r792-line);
  border-radius: 24px;
  box-shadow: var(--r792-soft-shadow);
}

.role-teacher .main input:not([type="checkbox"]):not([type="radio"]),
.role-teacher .main select,
.role-teacher .main textarea,
.role-parent .main input:not([type="checkbox"]):not([type="radio"]),
.role-parent .main select,
.role-parent .main textarea {
  min-height: 46px;
  border: 1px solid #dddfea;
  border-radius: 14px;
  background: #fbfbfe;
  color: var(--r792-ink);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.role-teacher .main textarea,
.role-parent .main textarea { min-height: 96px; }

.role-teacher .main input:focus,
.role-teacher .main select:focus,
.role-teacher .main textarea:focus,
.role-parent .main input:focus,
.role-parent .main select:focus,
.role-parent .main textarea:focus {
  outline: 0;
  border-color: #9e73ec;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(101,38,217,.1);
}

.role-teacher .main .field > label,
.role-parent .main .field > label {
  color: #34405a;
  font-weight: 750;
}

.role-teacher .main .btn,
.role-teacher .main button.primary,
.role-parent .main .btn,
.role-parent .main button.primary {
  border-radius: 14px;
  background: linear-gradient(135deg, #722ced, #4c16c6);
  box-shadow: 0 8px 18px rgba(85,30,190,.19);
}

.role-teacher .main table,
.role-parent .main table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 16px;
}

.role-teacher .main table thead th,
.role-parent .main table thead th {
  background: #f3effc;
  color: #3e315e;
}

.role-teacher .modalBack > div,
.role-parent .modalBack > div {
  border: 1px solid #ece8f5;
  border-radius: 26px;
  box-shadow: 0 28px 70px rgba(26,17,59,.25);
}

.role-teacher .main .sectionHead,
.role-parent .main .parentSectionTitle,
.role-parent .main .parentTeacherSectionHead {
  border-color: #ece8f5;
}

.role-teacher .main .choiceButtons button,
.role-teacher .main .segmented button,
.role-parent .main .choiceButtons button,
.role-parent .main .segmented button {
  border-radius: 12px;
}

@media (max-width: 760px) {
  .role-teacher .main,
  .role-parent .main {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ruya-r792-home {
    gap: 13px;
    padding-bottom: 20px;
  }

  .ruya-r792-hero {
    min-height: 156px;
    border-radius: 23px;
  }

  .ruya-r792-hero-copy {
    width: 72%;
    padding: 22px 18px;
  }

  .ruya-r792-hero-copy h1 {
    margin-bottom: 7px;
    font-size: 22px;
  }

  .ruya-r792-hero-copy p { font-size: 14px; }
  .ruya-r792-hero-copy i { margin-top: 15px; font-size: 28px; }
  .ruya-r792-hero > img { right: -4px; max-width: 43%; height: 91%; }

  .ruya-r792-switch-child {
    top: 8px;
    right: 8px;
    padding: 6px 9px;
    font-size: 10px;
  }

  .ruya-r792-summary,
  .ruya-r792-now,
  .ruya-r792-quick-info,
  .ruya-r792-alerts,
  .ruya-r792-other,
  .ruya-r792-favorites,
  .ruya-r792-students {
    border-radius: 22px;
  }

  .ruya-r792-summary { padding: 15px; }
  .ruya-r792-summary > h2,
  .ruya-r792-now > h2,
  .ruya-r792-quick-info > h2 { margin-bottom: 11px; font-size: 17px; }
  .ruya-r792-summary-grid { gap: 8px; }
  .ruya-r792-summary-item { min-height: 109px; border-radius: 17px; padding: 8px 5px; }
  .ruya-r792-summary-item > span { width: 34px; height: 34px; font-size: 20px; }
  .ruya-r792-summary-item > img { width: 47px; height: 42px; }
  .ruya-r792-summary-item > b { font-size: 18px; }
  .ruya-r792-parent-home .ruya-r792-summary-item > b { font-size: 14px; }
  .ruya-r792-summary-item > small { font-size: 10px; }

  .ruya-r792-now,
  .ruya-r792-quick-info { padding: 14px; }
  .ruya-r792-now > button,
  .ruya-r792-quick-info > button { min-height: 61px; gap: 8px; border-radius: 16px; padding: 9px 10px; }
  .ruya-r792-now > button { grid-template-columns: auto 1fr auto; }
  .ruya-r792-now > button > small { display: none; }
  .ruya-r792-now > button > p,
  .ruya-r792-quick-info > button > p { font-size: 12px; }
  .ruya-r792-now > button > b,
  .ruya-r792-quick-info > button > b { padding: 10px 11px; font-size: 11px; }

  .ruya-r792-feature-grid { gap: 10px; }
  .ruya-r792-feature-card {
    min-height: 134px;
    grid-template-columns: 42% 1fr;
    border-radius: 20px;
    padding: 9px 9px 9px 4px;
  }
  .ruya-r792-feature-card > img { max-height: 105px; }
  .ruya-r792-feature-card h3 { margin-bottom: 4px; font-size: 16px; }
  .ruya-r792-feature-card p { margin-bottom: 7px; font-size: 10.5px; line-height: 1.25; }
  .ruya-r792-feature-card div > span { padding: 5px 7px; font-size: 9.5px; }

  .ruya-r792-alerts,
  .ruya-r792-other,
  .ruya-r792-favorites,
  .ruya-r792-students { padding: 15px; }
  .ruya-r792-section-head h2 { font-size: 17px; }
  .ruya-r792-other > div:last-child,
  .ruya-r792-favorites > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ruya-r792-students > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .role-teacher .main .card,
  .role-parent .main .card,
  .role-parent .main .v5ParentPage > section,
  .role-teacher .main .attendanceWorkspace,
  .role-teacher .main .dailyWorkspace,
  .role-teacher .main .messagingLayout,
  .role-parent .main .messagingLayout { border-radius: 20px; }
}

@media (max-width: 390px) {
  .ruya-r792-hero-copy { width: 76%; padding-left: 15px; }
  .ruya-r792-hero-copy h1 { font-size: 19px; }
  .ruya-r792-feature-card { min-height: 124px; }
  .ruya-r792-feature-card h3 { font-size: 14px; }
  .ruya-r792-feature-card p { font-size: 9.5px; }
  .ruya-r792-summary-item > b { font-size: 16px; }
  .ruya-r792-parent-home .ruya-r792-summary-item > b { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .ruya-r792-home *,
  .role-teacher .main input,
  .role-parent .main input { transition: none !important; }
}

/* R7.9.3 — gönderilen öğretmen/veli mobil referansının gerçek uygulama karşılığı. */
.ruya-r793-app-header {
  width: min(100%, 900px);
  min-height: 92px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 4px 18px;
  box-sizing: border-box;
}

.ruya-r793-brand,
.ruya-r793-header-actions {
  display: flex;
  align-items: center;
}

.ruya-r793-brand { min-width: 0; gap: 15px; }
.ruya-r793-header-actions { flex: 0 0 auto; gap: 11px; }

.ruya-r793-logo {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  overflow: hidden;
  border: 1px solid #eef0f5;
  border-radius: 19px;
  display: grid;
  place-items: center;
  padding: 7px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 8px 23px rgba(38, 30, 86, .10);
}

.ruya-r793-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ruya-r793-brand > div { min-width: 0; }
.ruya-r793-brand b,
.ruya-r793-brand small { display: block; }
.ruya-r793-brand b {
  overflow: hidden;
  color: #101d41;
  font-size: clamp(23px, 3vw, 32px);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ruya-r793-brand small {
  margin-top: 7px;
  color: #762ce6;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.ruya-r793-app-header .profileBell,
.ruya-r793-profile-orb {
  position: relative;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border: 1px solid #ececf3;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #101d41;
  box-shadow: 0 7px 20px rgba(38, 30, 86, .07);
}

.ruya-r793-app-header .profileBell .notificationCount {
  position: absolute;
  top: -6px;
  right: -4px;
  min-width: 23px;
  height: 23px;
  border: 2px solid #fff;
  border-radius: 999px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  background: #5b20df;
  color: #fff;
  box-sizing: border-box;
  font-size: 10px;
}

.ruya-r793-profile-orb {
  border-radius: 50%;
  background: linear-gradient(145deg, #b7a2f4, #8869e5);
  color: #fff;
  box-shadow: 0 8px 20px rgba(91, 53, 191, .24), inset 0 0 0 4px rgba(255,255,255,.84);
}
.ruya-r793-profile-orb span { font-size: 18px; font-weight: 900; }
.ruya-r793-profile-orb i {
  position: absolute;
  right: 1px;
  bottom: 2px;
  width: 12px;
  height: 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #27c565;
}

.ruya-r793-bottom-nav {
  display: none;
}

.ruya-r793-sheet-back {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: rgba(20, 20, 45, .34);
  backdrop-filter: blur(7px);
}

.ruya-r793-sheet {
  width: min(100%, 520px);
  max-height: min(82dvh, 760px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #ebe7f5;
  border-radius: 28px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 26px 70px rgba(20, 15, 50, .27);
}
.ruya-r793-sheet > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.ruya-r793-sheet > header small,
.ruya-r793-sheet > header h2 { display: block; margin: 0; }
.ruya-r793-sheet > header small { color: #762ce6; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.ruya-r793-sheet > header h2 { margin-top: 3px; color: #101d41; font-size: 23px; }
.ruya-r793-sheet > header > button {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 13px;
  background: #f1ecff;
  color: #5c25c9;
  font-size: 25px;
}
.ruya-r793-sheet-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ruya-r793-sheet-grid > button {
  min-width: 0;
  min-height: 82px;
  border: 1px solid #ece7f5;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: linear-gradient(145deg, #fbf9ff, #f5efff);
  color: #101d41;
  text-align: left;
}
.ruya-r793-sheet-grid > button > span {
  width: 43px;
  height: 43px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #e9deff;
  color: #6427d4;
}
.ruya-r793-sheet-grid b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; }
.ruya-r793-sheet-grid i { color: #8f72d0; font-style: normal; }
.ruya-r793-profile-card { display: flex; align-items: center; gap: 13px; padding: 17px; border-radius: 20px; background: #f7f3ff; }
.ruya-r793-profile-card > span { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: #9c81eb; color: #fff; font-weight: 900; }
.ruya-r793-profile-card b,
.ruya-r793-profile-card small { display: block; }
.ruya-r793-profile-card b { color: #101d41; font-size: 17px; }
.ruya-r793-profile-card small { margin-top: 3px; color: #68728a; }
.ruya-r793-logout { width: 100%; min-height: 50px; margin-top: 12px; border: 1px solid #f0d8dd; border-radius: 15px; display: flex; align-items: center; justify-content: center; gap: 9px; background: #fff6f7; color: #b23a50; font-weight: 850; }

@media (max-width: 980px) {
  body:has(.role-teacher),
  body:has(.role-parent) { background: #fff !important; }

  .role-teacher .sidebar,
  .role-parent .sidebar,
  .role-teacher .mobileFloatingLogout,
  .role-parent .mobileFloatingLogout,
  .role-teacher > .bottomNav,
  .role-parent > .bottomNav,
  .role-teacher .main > .topbar,
  .role-parent .main > .topbar,
  .role-parent .main .v52ParentHeader { display: none !important; }

  .role-teacher.shell,
  .role-parent.shell {
    display: block !important;
    min-height: 100dvh;
    background: #fff !important;
  }

  .role-teacher .main,
  .role-parent .main,
  .role-parent .parentMain {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: max(12px, env(safe-area-inset-top)) 15px calc(112px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .ruya-r793-app-header { min-height: 82px; padding: 5px 1px 15px; }
  .ruya-r793-logo { width: 58px; height: 58px; flex-basis: 58px; border-radius: 17px; padding: 6px; }
  .ruya-r793-brand { gap: 12px; }
  .ruya-r793-brand b { font-size: 24px; }
  .ruya-r793-brand small { margin-top: 6px; font-size: 9px; }
  .ruya-r793-app-header .profileBell,
  .ruya-r793-profile-orb { width: 50px; height: 50px; flex-basis: 50px; border-radius: 16px; }
  .ruya-r793-profile-orb { border-radius: 50%; }

  .ruya-r792-home {
    width: 100% !important;
    max-width: 900px !important;
    gap: 12px !important;
    padding-bottom: 0 !important;
  }

  .ruya-r792-hero {
    min-height: 164px !important;
    border-radius: 24px !important;
    box-shadow: none !important;
  }
  .ruya-r792-hero-copy { width: 70% !important; padding: 25px 20px !important; }
  .ruya-r792-hero-copy h1 { margin-bottom: 8px !important; font-size: clamp(21px, 5.9vw, 29px) !important; line-height: 1.08 !important; }
  .ruya-r792-hero-copy p { font-size: clamp(12px, 3.7vw, 16px) !important; }
  .ruya-r792-hero-copy i { margin-top: 15px !important; font-size: 28px !important; }
  .ruya-r792-hero > img { right: -3px !important; bottom: -1px !important; width: 45% !important; max-width: 45% !important; height: 96% !important; }

  .ruya-r792-summary,
  .ruya-r792-now,
  .ruya-r792-quick-info { border-radius: 23px !important; box-shadow: none !important; }
  .ruya-r792-summary { padding: 15px !important; }
  .ruya-r792-summary > h2,
  .ruya-r792-now > h2,
  .ruya-r792-quick-info > h2 { margin: 0 0 11px !important; font-size: 17px !important; }
  .ruya-r792-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important; }
  .ruya-r792-summary-item { min-height: 112px !important; border-radius: 18px !important; padding: 8px 4px !important; }
  .ruya-r792-summary-item > span { width: 37px !important; height: 37px !important; font-size: 21px !important; }
  .ruya-r792-summary-item > img { width: 51px !important; height: 46px !important; }
  .ruya-r792-summary-item > b { font-size: 19px !important; }
  .ruya-r792-parent-home .ruya-r792-summary-item > b { font-size: 15px !important; }
  .ruya-r792-summary-item > small { font-size: 10px !important; }

  .ruya-r792-now,
  .ruya-r792-quick-info { padding: 14px !important; }
  .ruya-r792-now > button,
  .ruya-r792-quick-info > button { min-height: 62px !important; border-radius: 17px !important; padding: 9px 10px !important; }
  .ruya-r792-now > button { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  .ruya-r792-now > button > small { display: none !important; }
  .ruya-r792-now > button > p,
  .ruya-r792-quick-info > button > p { overflow: hidden; font-size: 11px !important; text-overflow: ellipsis; white-space: nowrap; }
  .ruya-r792-now > button > b,
  .ruya-r792-quick-info > button > b { padding: 10px 12px !important; font-size: 10px !important; }

  .ruya-r792-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .ruya-r792-feature-card {
    min-height: 142px !important;
    grid-template-columns: 43% minmax(0, 1fr) !important;
    border-radius: 21px !important;
    padding: 9px 9px 9px 3px !important;
    box-shadow: none !important;
  }
  .ruya-r792-feature-card > img { width: 100% !important; max-height: 115px !important; }
  .ruya-r792-feature-card h3 { margin-bottom: 5px !important; font-size: clamp(14px, 4vw, 18px) !important; }
  .ruya-r792-feature-card p { margin-bottom: 8px !important; font-size: clamp(9px, 2.7vw, 12px) !important; }
  .ruya-r792-feature-card div > span { padding: 5px 8px !important; font-size: clamp(8px, 2.4vw, 10px) !important; }

  .ruya-r792-alerts,
  .ruya-r792-other,
  .ruya-r792-favorites,
  .ruya-r792-students { display: none !important; }

  .ruya-r793-bottom-nav {
    position: fixed;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(9px, env(safe-area-inset-bottom));
    left: max(12px, env(safe-area-inset-left));
    z-index: 3000;
    min-height: 79px;
    border: 1px solid #e8e9f0;
    border-radius: 28px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    padding: 7px 7px 8px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 13px 36px rgba(32, 27, 63, .15);
    backdrop-filter: blur(18px);
  }
  .ruya-r793-bottom-nav > button {
    min-width: 0;
    height: 59px;
    border: 0;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 5px;
    padding: 4px 1px;
    background: transparent;
    color: #536078;
  }
  .ruya-r793-bottom-nav > button span { display: grid; place-items: center; }
  .ruya-r793-bottom-nav > button small { overflow: hidden; max-width: 100%; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
  .ruya-r793-bottom-nav > button.active { color: #6526d9; }
  .ruya-r793-bottom-nav > button.active small { font-weight: 900; }
  .ruya-r793-bottom-nav .ruya-r793-quick-button { position: relative; overflow: visible; }
  .ruya-r793-bottom-nav .ruya-r793-quick-button b {
    position: absolute;
    top: -29px;
    width: 72px;
    height: 72px;
    border: 5px solid #fff;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #782df0, #4c13cc);
    color: #fff;
    box-shadow: 0 10px 25px rgba(86, 29, 211, .35);
    font-size: 39px;
    font-weight: 300;
    line-height: 1;
  }
  .ruya-r793-bottom-nav .ruya-r793-quick-button small { position: absolute; bottom: 1px; color: #5b2bc2; font-weight: 900; }

  .role-teacher .mobileNevxupCredit,
  .role-parent .mobileNevxupCredit { margin: 19px 0 2px !important; }
}

@media (max-width: 390px) {
  .role-teacher .main,
  .role-parent .main,
  .role-parent .parentMain { padding-right: 11px !important; padding-left: 11px !important; }
  .ruya-r793-logo { width: 53px; height: 53px; flex-basis: 53px; }
  .ruya-r793-brand { gap: 9px; }
  .ruya-r793-brand b { font-size: 21px; }
  .ruya-r793-header-actions { gap: 7px; }
  .ruya-r793-app-header .profileBell,
  .ruya-r793-profile-orb { width: 45px; height: 45px; flex-basis: 45px; }
  .ruya-r792-hero { min-height: 151px !important; }
  .ruya-r792-hero-copy { padding: 21px 15px !important; }
  .ruya-r792-summary-item { min-height: 103px !important; }
  .ruya-r792-feature-card { min-height: 128px !important; }
  .ruya-r793-bottom-nav { right: 7px; left: 7px; }
  .ruya-r793-bottom-nav .ruya-r793-quick-button b { width: 66px; height: 66px; }
}

/* Masaüstünde 900 px civarı daraltılmış pencere, müşterinin gönderdiği 900 px mobil sunuma aynı oranlarda görünür. */
@media (min-width: 521px) and (max-width: 980px) {
  .role-teacher .main,
  .role-parent .main,
  .role-parent .parentMain {
    padding: 22px 32px 145px !important;
  }
  .ruya-r793-app-header { min-height: 132px; padding: 13px 7px 23px; }
  .ruya-r793-logo { width: 86px; height: 86px; flex-basis: 86px; border-radius: 23px; padding: 9px; }
  .ruya-r793-brand { gap: 21px; }
  .ruya-r793-brand b { font-size: 37px; }
  .ruya-r793-brand small { margin-top: 9px; font-size: 15px; }
  .ruya-r793-header-actions { gap: 15px; }
  .ruya-r793-app-header .profileBell,
  .ruya-r793-profile-orb { width: 70px; height: 70px; flex-basis: 70px; border-radius: 21px; }
  .ruya-r793-profile-orb { border-radius: 50%; }
  .ruya-r793-profile-orb span { font-size: 25px; }
  .ruya-r793-profile-orb i { width: 15px; height: 15px; }
  .ruya-r793-app-header .profileBell .monoIcon { width: 28px; height: 28px; }
  .ruya-r793-app-header .profileBell .notificationCount { min-width: 28px; height: 28px; font-size: 12px; }

  .ruya-r792-home { gap: 18px !important; }
  .ruya-r792-hero { min-height: 222px !important; border-radius: 30px !important; }
  .ruya-r792-hero-copy { padding: 34px 38px !important; }
  .ruya-r792-hero-copy h1 { font-size: 36px !important; }
  .ruya-r792-hero-copy p { font-size: 20px !important; }
  .ruya-r792-hero-copy i { margin-top: 25px !important; font-size: 37px !important; }

  .ruya-r792-summary { padding: 23px !important; }
  .ruya-r792-summary > h2,
  .ruya-r792-now > h2,
  .ruya-r792-quick-info > h2 { margin-bottom: 17px !important; font-size: 24px !important; }
  .ruya-r792-summary-grid { gap: 14px !important; }
  .ruya-r792-summary-item { min-height: 142px !important; border-radius: 23px !important; }
  .ruya-r792-summary-item > span { width: 49px !important; height: 49px !important; font-size: 28px !important; }
  .ruya-r792-summary-item > img { width: 65px !important; height: 59px !important; }
  .ruya-r792-summary-item > b { font-size: 29px !important; }
  .ruya-r792-parent-home .ruya-r792-summary-item > b { font-size: 23px !important; }
  .ruya-r792-summary-item > small { font-size: 15px !important; }

  .ruya-r792-now,
  .ruya-r792-quick-info { padding: 20px 23px !important; }
  .ruya-r792-now > button,
  .ruya-r792-quick-info > button { min-height: 84px !important; gap: 15px !important; border-radius: 20px !important; padding: 12px 17px !important; }
  .ruya-r792-now > button > span,
  .ruya-r792-quick-info > button > span { font-size: 30px !important; }
  .ruya-r792-now > button > p,
  .ruya-r792-quick-info > button > p { font-size: 16px !important; }
  .ruya-r792-now > button > b,
  .ruya-r792-quick-info > button > b { padding: 14px 18px !important; font-size: 15px !important; }

  .ruya-r792-feature-grid { gap: 16px !important; }
  .ruya-r792-feature-card { min-height: 192px !important; border-radius: 27px !important; padding: 16px 18px 16px 7px !important; }
  .ruya-r792-feature-card > img { max-height: 153px !important; }
  .ruya-r792-feature-card h3 { margin-bottom: 8px !important; font-size: 25px !important; }
  .ruya-r792-feature-card p { margin-bottom: 13px !important; font-size: 15px !important; }
  .ruya-r792-feature-card div > span { padding: 8px 12px !important; font-size: 13px !important; }

  .ruya-r793-bottom-nav {
    right: auto;
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 56px), 850px);
    min-height: 105px;
    border-radius: 35px;
    padding: 10px 12px 11px;
    transform: translateX(-50%);
  }
  .ruya-r793-bottom-nav > button { height: 78px; gap: 8px; }
  .ruya-r793-bottom-nav > button .monoIcon { width: 30px; height: 30px; }
  .ruya-r793-bottom-nav > button small { font-size: 13px; }
  .ruya-r793-bottom-nav .ruya-r793-quick-button b { top: -40px; width: 94px; height: 94px; font-size: 52px; }
  .ruya-r793-bottom-nav .ruya-r793-quick-button small { bottom: -1px; font-size: 13px; }
}
