.asp-publish-settings {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 8px 0 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fcf8f9;
}

.asp-owner-exam-period {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  margin: 12px 0;
  padding: 16px;
  border: 1px solid #d9b9c4;
  border-radius: 15px;
  background: linear-gradient(135deg, #fff 0%, #f7e9ee 100%);
}
.asp-owner-exam-period label { margin: 0; color: var(--q); font-weight: 900; }
.asp-owner-exam-period select { max-width: 100%; }
.asp-owner-exam-period small { color: #766a6f; }

/* Student rosters and exam participation tracking */
.asp-tracking-intro{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:18px 20px;border:1px solid #eadde1;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fbf2f5 100%)}
.asp-tracking-intro>span{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:17px;background:#7b1734;color:#fff;font-size:26px;box-shadow:0 10px 22px rgba(123,23,52,.18)}
.asp-tracking-intro h2,.asp-tracking-intro p{margin:0}.asp-tracking-intro p{margin-top:5px;color:#766a6f}
.asp-tracking-grid{display:grid;gap:18px;min-width:0}.asp-tracking-grid>*{min-width:0}.asp-tracking-grid>.asp-card{min-width:0;margin:0;padding:20px;border-radius:20px}
.asp-tracking-grid>.asp-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;margin-bottom:16px}.asp-tracking-grid>.asp-card>header>*{min-width:0}
.asp-tracking-grid>.asp-card>header h3,.asp-tracking-grid>.asp-card>header p{margin:0}.asp-tracking-grid>.asp-card>header p{margin-top:4px;color:#766a6f;font-size:14px}
.asp-rosters-card #asp-class-rosters{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.asp-roster-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #eadde1;border-radius:16px;background:#fff}
.asp-roster-item span,.asp-roster-item h4,.asp-roster-item small{display:block;margin:0}.asp-roster-item span{color:#8e2444;font-size:12px;font-weight:800}.asp-roster-item h4{margin:3px 0;font-size:18px}.asp-roster-item small{color:#766a6f}
.asp-roster-item button{width:auto;padding:10px 13px;white-space:nowrap}
.asp-tracking-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:12px;min-width:0;margin-bottom:16px}.asp-tracking-controls>*{min-width:0}.asp-tracking-controls label{margin:0}.asp-tracking-controls select{max-width:100%;margin-top:6px}.asp-tracking-controls button{min-height:48px;margin:0;white-space:nowrap}
.asp-tracking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.asp-tracking-summary div{padding:14px;border:1px solid #eadde1;border-radius:15px;background:#fff;text-align:center}.asp-tracking-summary b,.asp-tracking-summary span{display:block}.asp-tracking-summary b{font-size:24px;color:#541024}.asp-tracking-summary span{margin-top:3px;color:#766a6f;font-size:12px}.asp-tracking-summary .submitted{background:#effaf5;border-color:#bee8d2}.asp-tracking-summary .submitted b{color:#087443}.asp-tracking-summary .entered{background:#fff8e9;border-color:#f1dbad}.asp-tracking-summary .entered b{color:#9b5c00}.asp-tracking-summary .not-entered{background:#fff3f4;border-color:#f1c9cf}.asp-tracking-summary .not-entered b{color:#a42536}
.asp-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:105px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.asp-status-chip.is-submitted{color:#087443;background:#e4f7ee}.asp-status-chip.is-entered{color:#8a5200;background:#fff0ce}.asp-status-chip.is-not-entered{color:#a42536;background:#ffe5e9}
.asp-exam-tracking-card .asp-table-wrap{max-width:100%;overflow-x:auto}.asp-tracking-table{min-width:650px}.asp-tracking-table td{vertical-align:middle}.asp-tracking-table td:nth-child(6),.asp-tracking-table td:nth-child(7){font-size:12px;white-space:nowrap}
@media(max-width:760px){.asp-tracking-intro{align-items:flex-start;padding:15px}.asp-tracking-intro>span{width:46px;height:46px;flex-basis:46px;font-size:22px}.asp-tracking-grid>.asp-card{padding:14px}.asp-tracking-grid>.asp-card>header{align-items:stretch;flex-direction:column}.asp-tracking-grid>.asp-card>header button{width:100%}.asp-tracking-controls{grid-template-columns:1fr}.asp-tracking-summary{grid-template-columns:1fr 1fr}.asp-roster-item{align-items:stretch;flex-direction:column}.asp-roster-item button{width:100%}.asp-tracking-table .asp-status-chip{min-width:0}.asp-tracking-table td:nth-child(6),.asp-tracking-table td:nth-child(7){white-space:normal}}

.asp-publish-settings label {
  margin-top: 0;
}

.asp-exam-schedule {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fffafc;
}

.asp-exam-schedule legend {
  padding: 0 8px;
  color: var(--q);
  font-weight: 900;
}

.asp-exam-schedule label {
  margin-top: 0;
}

.asp-exam-schedule label small {
  color: var(--muted);
  font-weight: 400;
}

.asp-exam-schedule > p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.asp-student-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  max-height: 310px;
  overflow: auto;
  margin-top: 9px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}

.asp-student-choices label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 9px;
  border: 1px solid #eee4e7;
  border-radius: 10px;
  cursor: pointer;
}

.asp-student-choices input {
  width: auto;
  flex: 0 0 auto;
}

.asp-student-choices span,
.asp-student-choices b,
.asp-student-choices small {
  display: block;
}

.asp-student-choices small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 400;
}

.asp-share-box {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #cfe7d8;
  border-radius: 15px;
  background: #f1fbf5;
}

.asp-share-box strong,
.asp-share-box small {
  display: block;
}

.asp-share-box input {
  direction: ltr;
  margin: 10px 0;
  background: #fff;
}

.asp-share-box > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.asp-share-box a,
.asp-teacher-exam-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 11px;
  background: #f1e5e9;
  color: var(--q);
  font-weight: 800;
  text-decoration: none;
}

.asp-share-box small {
  margin-top: 10px;
  color: #326848;
}

.asp-draft-note {
  margin-top: 16px;
  padding: 13px;
  border-radius: 12px;
  background: #fff3dc;
  color: #815100;
  font-weight: 800;
}

.asp-teacher-exams {
  margin-top: 28px;
}

.asp-teacher-exam {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 10px 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 22px #5410240a;
}

.asp-teacher-exam h3,
.asp-teacher-exam p {
  margin: 0 0 5px;
}

.asp-teacher-exam p,
.asp-teacher-exam small {
  color: var(--muted);
}

.asp-teacher-exam-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
}

.asp-exam-history-badge {
  display: inline-block;
  margin-bottom: 7px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #f4e4e9;
  color: #7b1734;
  font-size: 11px;
  font-weight: 900;
}

.asp-question-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.asp-question-head h3 {
  margin: 0;
}

.asp .asp-remove-question {
  padding: 8px 12px;
  background: #fff0f2;
  color: #a4263b;
  border: 1px solid #e8bec7;
  box-shadow: none;
}

.asp .asp-remove-question:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.asp-ai-helper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 12px;
  align-items: center;
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid #d8c6ff;
  border-radius: 15px;
  background: linear-gradient(135deg, #f6f0ff, #fff 65%);
  color: #55258a;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(85, 37, 138, .09);
}

.asp-ai-helper > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #6e39a7;
  color: #fff;
  font-size: 21px;
}

.asp-ai-helper b,
.asp-ai-helper small { display: block; }
.asp-ai-helper small { color: #74667e; }

.asp-question-config {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr);
  gap: 12px;
}

.asp-question-image-upload,
.asp-answer-upload {
  margin: 12px 0;
  padding: 13px;
  border: 1px dashed #cbaebb;
  border-radius: 13px;
  background: #fff;
}

.asp-question-image-upload input[type="file"],
.asp-answer-upload input[type="file"] {
  padding: 9px;
  background: #fcf8f9;
}

.q-image-status,
.asp-answer-image-status {
  display: block;
  min-height: 18px;
  margin-top: 6px;
  color: var(--q);
  font-size: 12px;
  font-weight: 800;
}

.q-image-preview,
.asp-answer-image-preview {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.q-image-preview img,
.asp-answer-image-preview img,
.asp-student-question-image {
  display: block;
  max-width: min(100%, 680px);
  max-height: 520px;
  margin: 8px auto;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 8px 24px rgba(84, 16, 36, .08);
}

.q-image-preview button,
.asp-answer-image-preview button {
  width: auto;
  min-height: 38px;
  padding: 7px 12px;
}

.asp-essay-note {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff7e8;
  color: #76500d;
  font-size: 13px;
  font-weight: 800;
}

.asp-essay-answer-label {
  padding: 0 !important;
  border: 0 !important;
}

.asp-essay-answer {
  margin-top: 7px;
  min-height: 145px !important;
}

.asp-staff-login-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  width: min(620px, 100%);
  margin: 24px auto 0;
}

.asp-staff-login-choices[hidden] {
  display: none;
}

.asp-staff-login-choices button {
  min-height: 145px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: #fff;
  color: #65132c;
  border: 1px solid var(--line);
  font-size: 30px;
}

.asp-staff-login-choices b { font-size: 18px; }
.asp-staff-login-choices small { color: var(--muted); font-size: 12px; }
.asp-staff-login-choices .asp-back-to-login { grid-column: 1 / -1; min-height: auto; font-size: 14px; background: #f4eaed; }

.asp-attendance-head {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.asp-attendance-table select,
.asp-attendance-table input {
  min-width: 145px;
}

.asp-attendance-reports { margin-top: 28px; }
.asp-attendance-report { margin: 14px 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.asp-attendance-report header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.asp-attendance-report h3,.asp-attendance-report p { margin: 4px 0; }
.asp-attendance-report header span { color: var(--muted); font-size: 12px; }
.asp-attendance-counts { display: flex; flex-wrap: wrap; gap: 8px; margin: 13px 0; }
.asp-attendance-counts b { padding: 7px 10px; border-radius: 999px; background: #f8eef1; color: #65132c; font-size: 12px; }
.asp-attendance-report summary { cursor: pointer; color: #7b1734; font-weight: 900; }

.asp-exam-student-time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 10px 0 16px;
  padding: 11px 13px;
  border-radius: 12px;
  background: #f8eef1;
  color: #65132c;
}

.asp-exam-student-time span,
.asp-exam-student-time strong {
  display: block;
}

.asp-exam-start-card {
  padding: 24px;
  text-align: center;
}

.asp-exam-start-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 18px;
}

.asp-exam-start-meta span {
  padding: 8px 11px;
  border-radius: 999px;
  background: #f8eef1;
  color: #65132c;
  font-size: 13px;
}

.asp-direct-badge {
  display: inline-block;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eaf7ef;
  color: #17683f;
  font-size: 12px;
  font-weight: 800;
}

.asp-submit-success {
  margin: 22px 0;
  padding: 30px 22px;
  border: 1px solid #bfe2cd;
  border-radius: 18px;
  background: linear-gradient(135deg, #f1fbf5, #fff);
  color: #17683f;
  box-shadow: 0 12px 30px rgba(23, 104, 63, .1);
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  animation: aspIn .35s ease;
}

.asp-loading-screen[hidden] {
  display: none;
}

.asp-loading-screen {
  position: fixed;
  z-index: 1000000;
  inset: 0;
  display: grid;
  place-content: center;
  background: rgba(255, 252, 253, .96);
  text-align: center;
  backdrop-filter: blur(8px);
}

.asp-loading-logo {
  position: relative;
  display: grid;
  place-items: center;
  width: 126px;
  height: 126px;
  margin: auto;
  border-radius: 35px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(84, 16, 36, .18);
  animation: aspLogoPulse 1.35s ease-in-out infinite;
}

.asp-loading-logo::before {
  content: "";
  position: absolute;
  inset: -9px;
  border: 3px solid transparent;
  border-top-color: #7b1734;
  border-right-color: #d6a8b7;
  border-radius: 42px;
  animation: aspLoaderSpin 1s linear infinite;
}

.asp-loading-logo img {
  width: 94px;
  height: 94px;
  object-fit: contain;
}

.asp-loading-screen p {
  margin: 24px 0 0;
  color: #65132c;
  font-weight: 900;
}

@keyframes aspLoaderSpin {
  to { transform: rotate(360deg); }
}

@keyframes aspLogoPulse {
  50% { transform: scale(.95); }
}

@media (max-width: 650px) {
  .asp button,
  .asp a.asp-owner-dashboard-link {
    min-height: 44px;
    touch-action: manipulation;
  }

  .asp-tabs button {
    min-width: max-content;
    padding: 12px 16px;
  }

  .asp-publish-settings,
  .asp-exam-schedule,
  .asp-student-choices {
    grid-template-columns: 1fr;
  }

  .asp-teacher-exam {
    align-items: flex-start;
    flex-direction: column;
  }

  .asp-teacher-exam-actions {
    width: 100%;
  }

  .asp-teacher-exam-actions > * {
    flex: 1 1 calc(50% - 8px);
    min-height: 46px;
  }

  .asp-share-box > div {
    align-items: stretch;
    flex-direction: column;
  }

  .asp-exam-student-time {
    align-items: flex-start;
    flex-direction: column;
  }

  .asp-staff-login-choices,
  .asp-attendance-head {
    grid-template-columns: 1fr;
  }

  .asp-staff-login-choices button {
    min-height: 118px;
  }

  .asp-staff-login-choices .asp-back-to-login {
    grid-column: 1;
    min-height: 46px;
  }

  .asp-question-head {
    align-items: stretch;
    flex-direction: column;
  }

  .asp-question-head .asp-remove-question {
    width: 100%;
    min-height: 44px;
  }

  .asp-question-config {
    grid-template-columns: 1fr;
  }

  .asp-ai-helper {
    grid-template-columns: auto 1fr;
  }

  .q-image-preview img,
  .asp-answer-image-preview img,
  .asp-student-question-image {
    max-height: 360px;
  }

  .asp-attendance-report header {
    align-items: stretch;
    flex-direction: column;
  }

  .asp-attendance-report header button,
  .asp-attendance-form > button,
  #asp-refresh-attendance {
    width: 100%;
    min-height: 48px;
  }
}

.asp-gradebook-intro {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.asp-gradebook-intro > span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, #7b1734, #a72b51);
  box-shadow: 0 12px 28px rgba(123, 23, 52, .2);
  font-size: 28px;
}

.asp-gradebook-intro h2,
.asp-gradebook-intro p,
.asp-gradebooks-history h2,
.asp-gradebooks-history p { margin: 0; }

.asp-gradebook-head {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.asp-tabs-simple {
  overflow: visible;
  align-items: center;
  gap: 7px;
}

.asp-tabs-simple > button,
.asp-tabs-simple summary {
  min-height: 46px;
  padding: 11px 17px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: #741530;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}

.asp-tabs-simple summary::-webkit-details-marker { display: none; }
.asp-tabs-simple details { position: relative; }
.asp-tabs-simple details[open] summary,
.asp-tabs-simple summary:hover { background: #f7eaf0; }
.asp-tabs-simple details > div {
  position: absolute;
  z-index: 80;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  min-width: 210px;
  padding: 8px;
  border: 1px solid #ead9df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(74, 17, 35, .16);
}

.asp-tabs-simple details > div button {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  background: transparent;
  color: #741530;
  text-align: right;
}

.asp-tabs-simple details > div button:hover { background: #faeef2; }

.asp-gradebook-roster-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 14px;
}

.asp-gradebook-roster-meta[hidden] { display: none; }
.asp-gradebook-roster-meta span {
  padding: 7px 12px;
  border-radius: 999px;
  background: #f7eaf0;
  color: #741530;
  font-size: 12px;
  font-weight: 900;
}

.asp-gradebook-head label,
.asp-gradebook-head label > input,
.asp-gradebook-head label > select { width: 100%; }

.asp-gradebook-table-note {
  margin-bottom: 10px;
  color: #766a6f;
  font-size: 13px;
  font-weight: 700;
}

.asp-gradebook-table .asp-gradebook-score { min-width: 94px; text-align: center; font-weight: 800; }
.asp-gradebook-table .asp-gradebook-score.is-invalid { border-color: #b4233d !important; background: #fff1f3; box-shadow: 0 0 0 3px rgba(180,35,61,.12); }
.asp-gradebook-roster-tools { display:grid; grid-template-columns:auto minmax(190px,1fr) minmax(150px,.7fr) auto; gap:9px; align-items:center; margin:12px 0; padding:12px; border:1px solid #e4cfd7; border-radius:14px; background:#fff7fa; }
.asp-gradebook-roster-tools strong { color:#7b1734; }
.asp-gradebook-roster-tools .asp-message { grid-column:1/-1; }
.asp-roster-actions-head { width:96px; text-align:center !important; }
.asp-roster-actions { display:flex; justify-content:center; gap:6px; }
.asp-roster-actions button { width:36px; min-width:36px; height:36px; padding:0; border-radius:10px; font-size:19px; line-height:1; }
.asp-roster-actions button:disabled { opacity:.32; cursor:not-allowed; }
.asp-owner-students { margin-top: 22px; }
.asp-owner-students > header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.asp-owner-students > header h3, .asp-owner-students > header p { margin:3px 0; }
.asp-owner-student-add, .asp-owner-student-filters { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)) auto; gap:10px; align-items:end; padding:14px; border:1px solid #eadde1; border-radius:14px; background:#fcf8f9; }
.asp-owner-student-add label, .asp-owner-student-row label { display:grid; gap:5px; font-weight:700; }
.asp-owner-student-add .asp-message { grid-column:1/-1; }
.asp-owner-student-filters { grid-template-columns:2fr 1fr 1fr; margin:14px 0; background:#fff; }
.asp-owner-student-row { display:grid; grid-template-columns:130px 2fr .8fr 1.3fr .65fr auto auto; gap:8px; align-items:end; padding:12px 0; border-bottom:1px solid #eadde1; }
.asp-owner-student-number { align-self:center; direction:ltr; text-align:center; font-weight:800; color:#7b1734; }
.asp-owner-student-row .danger { background:#fff1f3; color:#a71936; border-color:#dca9b5; }
.asp-owner-student-row .asp-message { grid-column:1/-1; }
.asp-period-maintenance { max-width:720px; margin:70px auto; padding:42px 28px; border:1px solid #e4cfd6; border-radius:24px; background:linear-gradient(145deg,#fff,#f8edf1); text-align:center; box-shadow:0 22px 55px rgba(83,16,36,.12); }
.asp-period-maintenance > span { display:block; font-size:54px; }
.asp-period-maintenance h2 { color:#7b1734; font-size:28px; }
.asp-special-welcome { display:flex; align-items:center; gap:16px; margin-bottom:20px; padding:20px; border:1px solid #dfc4ce; border-radius:20px; background:linear-gradient(135deg,#7b1734,#a12a4d); color:#fff; box-shadow:0 16px 34px rgba(84,16,36,.18); }
.asp-special-welcome > span { font-size:40px; }
.asp-special-welcome h2,.asp-special-welcome p { margin:3px 0; color:#fff; }
.asp-period-control { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0; border-right:6px solid #7b1734; }
.asp-period-control h3,.asp-period-control p { margin:3px 0; }
.asp-period-control button.danger { background:#fff1f3; color:#a71936; border-color:#dca9b5; }
.asp-gradebook-analytics { margin:22px 0; padding:20px; border:1px solid #eadde1; border-radius:20px; background:#fff; }
.asp-gradebook-analytics > header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:14px; }
.asp-gradebook-analytics > header h2,.asp-gradebook-analytics > header p { margin:3px 0; }
#asp-gradebook-analytics { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; }
#asp-gradebook-analytics > section { padding:15px; border:1px solid #eee1e5; border-radius:16px; background:#fcf9fa; }
.asp-analytics-row { display:grid; grid-template-columns:minmax(120px,1.25fr) minmax(110px,2fr) 55px; align-items:center; gap:10px; margin:11px 0; }
.asp-analytics-row div b,.asp-analytics-row div small { display:block; }
.asp-analytics-row div small { color:#776b70; font-size:11px; }
.asp-analytics-track { height:13px; overflow:hidden; border-radius:99px; background:#eadde1; direction:ltr; }
.asp-analytics-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7b1734,#d05a7f); }
.asp-analytics-row > strong { color:#7b1734; text-align:left; }
.asp-analytics-row.is-not-filled { padding:8px; border:1px solid #efc5cd; border-radius:10px; background:#fff4f5; }
.asp-analytics-row.is-not-filled .asp-analytics-track i { width:0 !important; }
.asp-analytics-row.is-not-filled > strong { color:#b4233d; font-size:12px; }
@media(max-width:900px){.asp-owner-student-add,.asp-owner-student-filters,.asp-owner-student-row{grid-template-columns:1fr 1fr}.asp-owner-student-number{grid-column:1/-1;text-align:right}.asp-owner-student-row button{width:100%}}
@media(max-width:560px){.asp-owner-student-add,.asp-owner-student-filters,.asp-owner-student-row{grid-template-columns:1fr}.asp-owner-students>header,.asp-gradebook-analytics>header,.asp-period-control{align-items:stretch;flex-direction:column}.asp-analytics-row{grid-template-columns:1fr 55px}.asp-analytics-row div{grid-column:1/-1}}
@media(max-width:700px){.asp-gradebook-roster-tools{grid-template-columns:1fr}.asp-gradebook-roster-tools>*{width:100%}.asp-roster-actions{justify-content:flex-start}}
.asp-gradebook-table .asp-gradebook-note { min-width: 150px; }

.asp-gradebook-form-actions,
.asp-gradebook-record > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.asp-gradebooks-history { margin-top: 28px; }
.asp-gradebooks-history > header,
.asp-gradebook-record {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.asp-gradebook-record {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid rgba(123, 23, 52, .13);
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #fff9fb);
  box-shadow: 0 9px 25px rgba(70, 23, 37, .07);
}

.asp-gradebook-record span { color: #8b1d3e; font-size: 12px; font-weight: 900; }
.asp-gradebook-record h3 { margin: 5px 0; }
.asp-gradebook-record p,
.asp-gradebook-record small { display: block; margin: 3px 0; color: #766a6f; }

@media (max-width: 760px) {
  .asp-tabs-simple {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  .asp-tabs-simple > button,
  .asp-tabs-simple details,
  .asp-tabs-simple summary { width: 100%; }
  .asp-tabs-simple details > div { position: fixed; top: auto; right: 12px; bottom: 78px; left: 12px; min-width: 0; }
  .asp-gradebook-head { grid-template-columns: 1fr; }
  .asp-gradebooks-history > header,
  .asp-gradebook-record { align-items: stretch; flex-direction: column; }
  .asp-gradebooks-history > header > button,
  .asp-gradebook-form-actions > button,
  .asp-gradebook-record > div:last-child > button { width: 100%; min-height: 48px; }
  .asp-gradebook-table .asp-gradebook-score,
  .asp-gradebook-table .asp-gradebook-note { min-width: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .asp-loading-logo,
  .asp-loading-logo::before {
    animation: none;
  }
}

.asp-analytics-scope{margin:0 0 12px;color:#7b1734;font-weight:800;font-size:12px}


/* محرر أسماء الشعبة داخل سجل الدرجات */
.asp-gradebook-roster-editor{margin:16px 0 20px;padding:16px;border:2px solid #ead6de;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fff7fa 100%)}
.asp-gradebook-roster-editor[hidden]{display:none}
.asp-gradebook-roster-editor>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.asp-gradebook-roster-editor>header h3,.asp-gradebook-roster-editor>header p{margin:3px 0}
.asp-gradebook-roster-editor>header strong{padding:8px 12px;border-radius:999px;background:#7b1734;color:#fff;white-space:nowrap}
.asp-roster-editor-add{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(160px,1fr) auto;gap:9px;align-items:center;padding:11px;border-radius:13px;background:#f7eaf0}
.asp-roster-editor-add .asp-message{grid-column:1/-1}
.asp-roster-editor-list{display:grid;gap:7px;max-height:440px;overflow:auto;margin:13px 0;padding:4px;overscroll-behavior:contain}
.asp-roster-editor-item{display:grid;grid-template-columns:34px 42px minmax(210px,1fr) minmax(150px,.7fr);gap:8px;align-items:center;padding:9px;border:1px solid #e4cfd7;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(90,20,45,.05);transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}
.asp-roster-editor-item.is-dragging{opacity:.55;transform:scale(.99);box-shadow:0 10px 24px rgba(90,20,45,.18)}
.asp-roster-editor-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f4e4ea;color:#7b1734;font-weight:900}
.asp-roster-drag-handle{display:grid;place-items:center;height:38px;border-radius:10px;background:#7b1734;color:#fff;font-size:24px;cursor:grab;touch-action:none;user-select:none}
.asp-roster-drag-handle:active{cursor:grabbing}
.asp-roster-editor-item label{display:grid;gap:3px}
.asp-roster-editor-item label span{font-size:11px;font-weight:800;color:#7b1734}
.asp-roster-editor-item small{color:#6f6267;direction:rtl}
.asp-roster-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}
@media(max-width:700px){.asp-gradebook-roster-editor>header{align-items:stretch;flex-direction:column}.asp-roster-editor-add{grid-template-columns:1fr}.asp-roster-editor-item{grid-template-columns:32px 40px 1fr}.asp-roster-editor-item small{grid-column:3}.asp-roster-editor-actions button{width:100%}}

/* صندوق كشوف المعلمين للأدمن والنائب الأكاديمي */
.asp-teacher-reports-panel{margin:0 0 18px;padding:18px;border:2px solid #7b1734;border-radius:19px;background:linear-gradient(135deg,#fff 0%,#fff5f8 100%);box-shadow:0 10px 28px rgba(80,16,40,.09)}
.asp-teacher-reports-panel[hidden]{display:none}
.asp-teacher-reports-panel>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.asp-teacher-reports-panel>header h2,.asp-teacher-reports-panel>header p{margin:3px 0}
.asp-teacher-reports-panel>header label{display:grid;gap:6px;min-width:min(100%,320px);font-weight:900;color:#7b1734}
.asp-teacher-reports-panel select{width:100%}
#asp-teacher-reports-list{display:grid;gap:9px}
.asp-teacher-report-record{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #ead8df;border-radius:14px;background:#fff}
.asp-teacher-report-record span{color:#8b1d3e;font-size:12px;font-weight:900}
.asp-teacher-report-record h3{margin:5px 0}
.asp-teacher-report-record small{color:#75686d}
.asp-teacher-report-record button{white-space:nowrap}
@media(max-width:700px){.asp-teacher-reports-panel>header,.asp-teacher-report-record{align-items:stretch;flex-direction:column}.asp-teacher-report-record button{width:100%}}

/* صفحة مستقلة لإدارة وترتيب أسماء الطلبة */
.asp-roster-page-intro{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.asp-roster-page-intro>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#7b1734;color:#fff;font-size:30px;font-weight:900}
.asp-roster-page-intro h2,.asp-roster-page-intro p{margin:3px 0}
.asp-roster-page{padding:20px!important}
.asp-roster-page-filters{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-bottom:14px}
.asp-roster-page-filters label{display:grid;gap:6px;font-weight:900;color:#7b1734}
.asp-roster-page-add{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;padding:14px;border-radius:15px;background:#f7e8ee}
.asp-roster-page-add .asp-message{grid-column:1/-1}
.asp-roster-page-list{display:grid;gap:9px;min-height:180px;max-height:65vh;overflow:auto;margin:16px 0;padding:6px;overscroll-behavior:contain}
.asp-roster-page-item{display:grid;grid-template-columns:38px 48px minmax(240px,2fr) minmax(180px,1fr);gap:10px;align-items:end;padding:12px;border:1px solid #e2cbd4;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(92,18,46,.06);transition:.15s ease}
.asp-roster-page-item.is-dragging{opacity:.52;transform:scale(.99);box-shadow:0 14px 30px rgba(92,18,46,.18)}
.asp-roster-page-number{display:grid;place-items:center;width:34px;height:34px;margin-bottom:2px;border-radius:50%;background:#f3dfe7;color:#7b1734;font-weight:900}
.asp-roster-page-handle{display:grid;place-items:center;height:40px;border-radius:11px;background:#7b1734;color:#fff;font-size:26px;cursor:grab;touch-action:none;user-select:none}
.asp-roster-page-handle:active{cursor:grabbing}
.asp-roster-page-item label{display:grid;gap:5px;font-weight:800;color:#6d1935}
.asp-roster-page>footer{display:flex;align-items:center;gap:14px;position:sticky;bottom:0;padding:12px;border-top:1px solid #ead9df;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.asp-teacher-report-actions{display:flex;gap:8px;flex-wrap:wrap}
.asp-teacher-report-actions .danger{background:#fff0f3;color:#a71936;border-color:#dca9b5}
@media(max-width:760px){.asp-roster-page-filters,.asp-roster-page-add{grid-template-columns:1fr}.asp-roster-page-item{grid-template-columns:34px 42px 1fr}.asp-roster-page-item label:last-child{grid-column:3}.asp-roster-page>footer{align-items:stretch;flex-direction:column}.asp-roster-page>footer button,.asp-teacher-report-actions button{width:100%}}

/* الملخص الإداري والأكاديمي */
.asp-summary-intro{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:18px;border:1px solid #e2ccd5;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f8eaf0 100%);box-shadow:0 10px 28px rgba(91,18,46,.08)}
.asp-summary-intro>span{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:#7b1734;color:#fff;font-size:29px}
.asp-summary-intro>div{flex:1}.asp-summary-intro h2,.asp-summary-intro p{margin:3px 0}.asp-summary-intro button{white-space:nowrap}
.asp-summary-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding:11px 14px;border-radius:13px;background:#f6e8ee;color:#65152f;font-weight:700}
.asp-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:11px;margin-bottom:18px}
.asp-summary-card{display:flex;align-items:center;gap:11px;min-height:82px;padding:14px;border:1px solid #e6d8dd;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(71,22,40,.06)}
.asp-summary-card>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#7b1734;color:#fff;font-size:20px;font-weight:900}
.asp-summary-card b,.asp-summary-card small{display:block}.asp-summary-card b{font-size:24px;line-height:1.1}.asp-summary-card small{margin-top:5px;color:#6e6267;font-weight:800}
.asp-summary-card.is-green>span{background:#148451}.asp-summary-card.is-orange>span{background:#d97808}.asp-summary-card.is-blue>span{background:#246aa8}.asp-summary-card.is-purple>span{background:#6f43a5}.asp-summary-card.is-red>span{background:#b92945}.asp-summary-card.is-gold>span{background:#a47b00}.asp-summary-card.is-dark>span{background:#3e3540}
.asp-summary-section{margin-top:17px;padding:17px;border:1px solid #e4d5da;border-radius:18px;background:#fff}
.asp-summary-section>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}.asp-summary-section h3,.asp-summary-section p{margin:2px 0}.asp-summary-section h3{color:#7b1734}.asp-summary-section p{color:#766a6e;font-size:13px}
.asp-table-wrap{max-width:100%;overflow:auto}.asp-summary-table{width:100%;min-width:880px;border-collapse:separate;border-spacing:0;font-size:13px}
.asp-summary-table th,.asp-summary-table td{padding:10px;border-width:0 0 1px 1px;border-style:solid;border-color:#eadce1;text-align:right;vertical-align:middle}.asp-summary-table th{background:#7b1734;color:#fff}.asp-summary-table th:first-child{border-radius:0 10px 0 0}.asp-summary-table th:last-child{border-radius:10px 0 0 0}
.asp-summary-table tbody tr.is-filled{background:#f2fbf6}.asp-summary-table tbody tr.is-missing{background:#fff8ed}.asp-summary-table tbody tr:hover{filter:brightness(.98)}
.asp-summary-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:900;white-space:nowrap}.asp-summary-status.is-filled{background:#dff6e8;color:#08723e}.asp-summary-status.is-missing{background:#ffebcf;color:#945000}
.asp-summary-excused{color:#8d6700;font-weight:900}.asp-summary-unexcused{color:#ad1f3d;font-weight:900}
.asp-summary-absence{color:#b4203f;font-size:15px;font-weight:900}
@media(max-width:850px){.asp-summary-cards{grid-template-columns:repeat(2,1fr)}.asp-summary-intro,.asp-summary-section>header,.asp-summary-meta{align-items:stretch;flex-direction:column}.asp-summary-intro button{width:100%}}
@media(max-width:480px){.asp-summary-cards{grid-template-columns:1fr}.asp-summary-intro{padding:14px}.asp-summary-card{min-height:72px}}

/* مظهر لوحة الكادر والإدارة الحديث */
.asp-tabs-simple{position:sticky;top:8px;z-index:60;align-items:center;justify-content:center;gap:8px;padding:9px;background:rgba(255,255,255,.94);border:1px solid #e6d3db;border-radius:20px;box-shadow:0 14px 36px rgba(76,17,40,.11);backdrop-filter:blur(16px)}
.asp-tabs-simple>button,.asp-tabs-simple summary{min-height:44px;padding:10px 15px;border-radius:13px;font-weight:900;transition:.2s ease}
.asp-tabs-simple>button:hover,.asp-tabs-simple summary:hover{transform:translateY(-1px);background:#f6e7ed!important}
.asp-tabs-simple>button.active{background:linear-gradient(135deg,#7b1734,#a62d52);box-shadow:0 8px 20px rgba(123,23,52,.2)}
.asp-special-welcome{position:relative;overflow:hidden}.asp-special-welcome:after{content:"";position:absolute;width:170px;height:170px;left:-45px;bottom:-95px;border:28px solid rgba(255,255,255,.08);border-radius:50%}
.asp-owner-access{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:15px 17px;border-radius:17px;background:linear-gradient(135deg,#143f35,#1c745c);color:#fff;box-shadow:0 10px 25px rgba(17,91,70,.15)}
.asp-owner-access>span{font-size:30px}.asp-owner-access b,.asp-owner-access small{display:block}.asp-owner-access small{margin-top:4px;color:#d7f4e9}
.asp-owner-switches{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.asp-owner-logins{margin:18px 0;padding:17px;border:1px solid #e2cdd5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(79,17,41,.07)}
.asp-owner-logins>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.asp-owner-logins h3,.asp-owner-logins p{margin:3px 0}.asp-owner-logins p{color:#75686d;font-size:13px}
.asp-owner-logins table{width:100%;min-width:650px;border-collapse:collapse}.asp-owner-logins th,.asp-owner-logins td{padding:10px;border-bottom:1px solid #eadce1;text-align:right}.asp-owner-logins th{background:#7b1734;color:#fff}.asp-owner-logins td span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3e3e9;color:#7b1734;font-weight:800}
@media(max-width:760px){.asp-owner-switches{grid-template-columns:1fr}.asp-owner-logins>header{align-items:stretch;flex-direction:column}.asp-owner-logins>header button{width:100%}}

/* غياب الاختبارات وملخص اليوم للفترتين */
.asp-attendance-reports{margin-top:20px}
.asp-attendance-reports-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:13px}
.asp-attendance-reports-head h2,.asp-attendance-reports-head p{margin:3px 0}
.asp-attendance-reports-head p{color:#74676c;font-size:13px}
.asp-attendance-today{margin-bottom:18px;padding:17px;border:1px solid #dfccd4;border-radius:19px;background:linear-gradient(135deg,#fff 0%,#fff7fa 100%);box-shadow:0 10px 28px rgba(91,18,46,.08)}
.asp-attendance-today>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.asp-attendance-today>header h3,.asp-attendance-today>header p{margin:3px 0}
.asp-attendance-today>header p{color:#74676c;font-size:13px}
.asp-attendance-today>header strong{padding:7px 12px;border-radius:999px;background:#7b1734;color:#fff;white-space:nowrap}
.asp-attendance-today>div{display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));gap:10px}
.asp-attendance-today article{display:flex;align-items:center;gap:10px;min-height:70px;padding:12px;border:1px solid #eadce1;border-radius:15px;background:#fff}
.asp-attendance-today article b{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:12px;background:#7b1734;color:#fff;font-size:18px}
.asp-attendance-today article span{font-size:12px;font-weight:900;line-height:1.5}
.asp-attendance-today article.is-present b{background:#13834f}.asp-attendance-today article.is-excused b{background:#d47a08}.asp-attendance-today article.is-unexcused b{background:#b62543}.asp-attendance-today article.is-first b{background:#7143a2}.asp-attendance-today article.is-second b{background:#216ca8}
.asp-attendance-report{margin-bottom:12px;padding:15px;border:1px solid #e5d4da;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(77,18,40,.06)}
.asp-attendance-report>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.asp-attendance-report>header span{color:#7b1734;font-size:12px;font-weight:900}.asp-attendance-report h3,.asp-attendance-report p{margin:4px 0}
.asp-attendance-counts{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0}.asp-attendance-counts b{padding:6px 10px;border-radius:999px}.asp-attendance-counts .is-present{background:#dff6e8;color:#08723e}.asp-attendance-counts .is-excused{background:#fff0d8;color:#945700}.asp-attendance-counts .is-unexcused{background:#ffe2e8;color:#a51937}
@media(max-width:900px){.asp-attendance-today>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.asp-attendance-reports-head,.asp-attendance-today>header,.asp-attendance-report>header{align-items:stretch;flex-direction:column}.asp-attendance-reports-head button,.asp-attendance-report>header button{width:100%}.asp-attendance-today>div{grid-template-columns:1fr}}

/* شريط تنقل حديث ومتجاوب */
.asp-tabs-simple{flex-wrap:wrap;overflow:visible!important;padding:10px!important}
.asp-tabs-simple>button,.asp-tabs-simple>details{flex:0 1 auto}
.asp-tabs-simple>button,.asp-tabs-simple summary{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.asp-tabs-simple details>div{box-shadow:0 18px 45px rgba(71,15,37,.18)}
.asp-summary-print-tools{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr)) auto;gap:8px;align-items:center;min-width:min(100%,680px)}
.asp-summary-print-tools select,.asp-summary-print-tools button{min-height:44px;margin:0}
.asp-owner-archives>header>strong{padding:7px 11px;border-radius:999px;background:#f1e3e8;color:#7b1734}
@media(max-width:760px){
  .asp{width:100%;max-width:100%;overflow-x:hidden}
  .asp-header{position:sticky;top:0;z-index:75;padding:12px 14px;border-radius:0 0 17px 17px}
  .asp-tabs-simple{position:sticky;top:72px;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px;margin:10px 8px 18px;border-radius:17px!important;background:rgba(255,255,255,.98)}
  .asp-tabs-simple>button,.asp-tabs-simple>details,.asp-tabs-simple summary{width:100%;min-width:0!important}
  .asp-tabs-simple>button,.asp-tabs-simple summary{min-height:48px;padding:9px 7px!important;font-size:13px;white-space:normal;text-align:center;line-height:1.3}
  .asp-tabs-simple details>div{position:fixed!important;right:10px!important;bottom:12px!important;left:10px!important;top:auto!important;display:grid;gap:7px;min-width:0!important;padding:12px;border:1px solid #e1ccd4;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(64,13,32,.28)}
  .asp-summary-print-tools{grid-template-columns:1fr;width:100%;min-width:0}
  .asp-summary-print-tools select,.asp-summary-print-tools button{width:100%}
  .asp-teacher-reports-panel{padding:13px}
  .asp-teacher-report-record{gap:10px;padding:13px}
  .asp-teacher-report-record h3{font-size:16px;line-height:1.5}
  .asp-summary-table{min-width:760px}
}
@media(max-width:390px){.asp-tabs-simple{grid-template-columns:1fr!important}.asp-tabs-simple>button,.asp-tabs-simple summary{min-height:44px}}

.asp-notification-ledger,.asp-attendance-date-filter{margin-top:18px;padding:16px;border:1px solid #ead7de;border-radius:18px;background:#fff}.asp-notification-ledger>header,.asp-attendance-date-filter{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.asp-developer-credit{text-align:center;padding:22px 10px;color:#7b1734;font-weight:800;letter-spacing:.08em}@media(max-width:620px){.asp-notification-ledger>header,.asp-attendance-date-filter{align-items:stretch;flex-direction:column}.asp-attendance-date-filter button{width:100%}}@media print{.asp-developer-credit{display:none}}

.asp-notification-bar{position:fixed;z-index:9995;right:18px;bottom:16px;display:flex;align-items:center;gap:8px;padding:11px 16px;border:0;border-radius:999px;background:#7b1734;color:#fff;box-shadow:0 10px 30px rgba(66,12,34,.28)}.asp-notification-bar small{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:99px;background:#fff;color:#7b1734;font-weight:900}.asp-notification-drawer{position:fixed;z-index:9996;right:16px;bottom:72px;width:min(760px,calc(100vw - 32px));max-height:min(72vh,720px);overflow:auto;padding:18px;border:1px solid #ead7de;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(42,12,25,.3)}.asp-notification-drawer>header{position:sticky;top:-18px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;background:#fff}.asp-notification-drawer h2,.asp-notification-drawer p{margin:3px}.asp-notification-drawer[hidden]{display:none!important}@media(max-width:620px){.asp-notification-bar{right:10px;bottom:10px}.asp-notification-drawer{right:8px;bottom:65px;width:calc(100vw - 16px);max-height:75vh;padding:12px}.asp-notification-drawer>header{align-items:stretch;flex-direction:column}}@media print{.asp-notification-bar,.asp-notification-drawer{display:none!important}}

/* Clickable grade absence details */
#palestinian-portal .asp-summary-absence-button{border:0;background:transparent;color:#b61b3b;font:inherit;font-weight:700;padding:4px 8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#palestinian-portal .asp-summary-absence-button:focus-visible{outline:2px solid #7b1734;outline-offset:2px}
#palestinian-portal .asp-summary-absence-dialog{width:min(920px,94vw);max-height:85vh;overflow:auto;border:1px solid #decbd2;border-radius:16px;padding:20px;color:#291c22;background:#fff}
#palestinian-portal .asp-summary-absence-dialog::backdrop{background:rgba(0,0,0,.45)}
#palestinian-portal .asp-summary-absence-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#palestinian-portal .asp-summary-absence-dialog h3{color:#7b1734;margin:0}

#palestinian-portal .asp-summary-version{display:inline-block;font-size:11px;margin-inline-start:6px;color:#7b1734;background:#f7edf1;border-radius:6px;padding:2px 5px}

#palestinian-portal #asp-language-score-fields{margin:12px 0;padding:12px;border:1px solid #decbd2;border-radius:10px}#palestinian-portal #asp-score-labels{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}#palestinian-portal #asp-score-labels[hidden],#palestinian-portal #asp-language-score-fields[hidden]{display:none}#palestinian-portal #asp-score-labels label{flex:1;min-width:180px}#palestinian-portal #asp-score-labels small{width:100%}

/* المواد الدراسية وروابط OneDrive */
.asp-resource-intro{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:18px;border:1px solid #dfccd4;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f6e8ee 100%);box-shadow:0 10px 28px rgba(91,18,46,.08)}
.asp-resource-intro>span{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:linear-gradient(135deg,#1769aa,#39a1e3);color:#fff;font-size:29px}.asp-resource-intro>div{flex:1}.asp-resource-intro h2,.asp-resource-intro p{margin:3px 0}.asp-resource-intro p{color:#75686d}.asp-resource-intro>a{padding:12px 17px;border-radius:13px;background:#7b1734;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap}
.asp-subjects-card{padding:18px!important}.asp-subjects-card h3{margin:0 0 13px;color:#7b1734}.asp-subjects-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px}.asp-subjects-grid span{padding:11px 12px;border:1px solid #ead8df;border-radius:13px;background:#fff;font-weight:800}
.asp-onedrive-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;margin-top:17px}.asp-onedrive-grid>a{display:grid;grid-template-columns:46px 1fr;gap:2px 11px;align-items:center;min-height:104px;padding:15px;border:1px solid #dfd5e5;border-radius:18px;background:#fff;color:#30272b;text-decoration:none;box-shadow:0 7px 20px rgba(53,31,72,.07);transition:.2s ease}.asp-onedrive-grid>a:hover{transform:translateY(-3px);border-color:#7b1734;box-shadow:0 13px 30px rgba(91,18,46,.14)}.asp-onedrive-grid span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e8f3fc;font-size:23px}.asp-onedrive-grid b{color:#7b1734;font-size:16px}.asp-onedrive-grid small{color:#75686d}
@media(max-width:850px){.asp-subjects-grid{grid-template-columns:repeat(2,1fr)}.asp-onedrive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.asp-resource-intro{align-items:stretch;flex-direction:column;padding:14px}.asp-resource-intro>a{width:100%;text-align:center}.asp-subjects-grid,.asp-onedrive-grid{grid-template-columns:1fr}.asp-onedrive-grid>a{min-height:90px}}
.asp-gradebook-history-actions{display:flex;gap:8px;flex-wrap:wrap}.asp-gradebook-history-actions button{margin:0}@media(max-width:620px){.asp-gradebook-history-actions{width:100%;flex-direction:column}.asp-gradebook-history-actions button{width:100%}}

/* القائمة الجانبية للكادر والطلبة */
.asp-menu-toggle{display:none;width:44px;height:44px;padding:0;border-radius:13px;font-size:24px}
.asp[data-role="teacher"]>.asp-tabs,.asp[data-role="owner"]>.asp-tabs,.asp[data-role="student"]>.asp-tabs{position:fixed!important;z-index:90;top:96px;right:18px;bottom:18px;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;width:242px;max-height:calc(100vh - 114px);margin:0;padding:12px!important;overflow-y:auto!important;border:1px solid #e5d4db;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(74,16,39,.16)}
.asp[data-role="teacher"]>.asp-tabs>button,.asp[data-role="owner"]>.asp-tabs>button,.asp[data-role="student"]>.asp-tabs>button,.asp[data-role="teacher"]>.asp-tabs>details,.asp[data-role="owner"]>.asp-tabs>details{width:100%;flex:0 0 auto}.asp[data-role="teacher"]>.asp-tabs button,.asp[data-role="owner"]>.asp-tabs button,.asp[data-role="student"]>.asp-tabs button,.asp[data-role="teacher"]>.asp-tabs summary,.asp[data-role="owner"]>.asp-tabs summary{justify-content:flex-start!important;text-align:right;min-height:46px;border-radius:12px}
.asp[data-role="teacher"]>.asp-tabs details>div,.asp[data-role="owner"]>.asp-tabs details>div{position:static!important;display:grid;gap:5px;width:100%;min-width:0;padding:6px;background:#f9f1f4;border:0;border-radius:12px;box-shadow:none}.asp[data-role="teacher"]>.asp-tabs details:not([open])>div,.asp[data-role="owner"]>.asp-tabs details:not([open])>div{display:none}
.asp[data-role="teacher"]>.asp-header,.asp[data-role="teacher"]>.asp-panel,.asp[data-role="teacher"]>.asp-developer-credit,.asp[data-role="owner"]>.asp-header,.asp[data-role="owner"]>.asp-panel,.asp[data-role="owner"]>.asp-developer-credit,.asp[data-role="student"]>.asp-header,.asp[data-role="student"]>.asp-panel,.asp[data-role="student"]>.asp-developer-credit{margin-right:266px}

/* الواجبات وصورة الملف الشخصي */
.asp-homework-intro{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:17px;border-radius:19px;background:linear-gradient(135deg,#fff,#f7e9ef);border:1px solid #e4d2d9}.asp-homework-intro>span{display:grid;place-items:center;width:55px;height:55px;border-radius:17px;background:#7b1734;color:#fff;font-size:27px}.asp-homework-intro h2,.asp-homework-intro p{margin:3px 0}.asp-homework-fields{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:11px}.asp-homework-card{margin:14px 0;padding:17px;border:1px solid #e3d3d9;border-radius:18px;background:#fff;box-shadow:0 8px 23px rgba(72,18,39,.07)}.asp-homework-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.asp-homework-card h3,.asp-homework-card p{margin:5px 0}.asp-homework-card header span{color:#7b1734;font-weight:900}.asp-homework-card header>b{padding:7px 11px;border-radius:999px;background:#f2e3e9;color:#7b1734}.asp-homework-card.is-graded header>b{background:#dff6e8;color:#08723e}.asp-homework-card form{display:grid;gap:9px;margin-top:13px}.asp-homework-submission{grid-template-columns:minmax(220px,2fr) 120px minmax(180px,1fr) auto!important;align-items:end;padding:12px;border-top:1px solid #eadce1}.asp-homework-grade{margin-top:12px;padding:12px;border-radius:13px;background:#e9f8f0;color:#096c40}.asp-profile-preview{display:grid;place-items:center;width:112px;height:112px;margin:0 auto 15px;border-radius:50%;background:#f3e3e9;color:#7b1734;font-size:50px;overflow:hidden}.asp-profile-preview img{width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.asp-menu-toggle{display:grid;place-items:center}.asp[data-role="teacher"]>.asp-header,.asp[data-role="teacher"]>.asp-panel,.asp[data-role="teacher"]>.asp-developer-credit,.asp[data-role="owner"]>.asp-header,.asp[data-role="owner"]>.asp-panel,.asp[data-role="owner"]>.asp-developer-credit,.asp[data-role="student"]>.asp-header,.asp[data-role="student"]>.asp-panel,.asp[data-role="student"]>.asp-developer-credit{margin-right:0}.asp[data-role="teacher"]>.asp-tabs,.asp[data-role="owner"]>.asp-tabs,.asp[data-role="student"]>.asp-tabs{top:0;right:0;bottom:0;width:min(84vw,310px);max-height:100vh;border-radius:22px 0 0 22px;transform:translateX(110%);transition:transform .22s ease}.asp.asp-menu-open>.asp-tabs{transform:translateX(0)}.asp.asp-menu-open:before{content:"";position:fixed;z-index:89;inset:0;background:rgba(35,17,24,.48)}.asp-homework-fields{grid-template-columns:1fr}.asp-homework-submission{grid-template-columns:1fr!important}.asp-homework-card>header{align-items:flex-start;flex-direction:column}.asp-homework-card button,.asp-homework-card input[type="file"]{width:100%}}


/* 2.4.38: full-width portal, clearer navigation and new service sections */
#palestinian-portal.asp{width:min(1760px,calc(100vw - 28px));max-width:none;margin:18px auto;padding:0 8px}
.asp-sidebar-brand{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;gap:0 10px;align-items:center;margin:0 0 10px;padding:10px;border-bottom:1px solid #ead9df;text-align:right}
.asp-sidebar-brand img{grid-row:1/3;width:48px;height:48px;object-fit:contain;border-radius:14px;background:#fff}.asp-sidebar-brand b{color:#65132c;font-size:17px}.asp-sidebar-brand small{color:#8a737c;font-size:11px}
.asp-owner-section-nav{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px;margin:12px 0 18px;padding:10px;border:1px solid #e5d4da;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(74,16,39,.07)}
.asp-owner-section-nav button{background:#f7edf1;color:#6e1732}.asp-owner-section-nav button.active{background:linear-gradient(135deg,#7b1734,#a62d52);color:#fff}
.asp-health-intro{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:18px;border:1px solid #cfe5df;border-radius:20px;background:linear-gradient(135deg,#fff,#eaf8f3)}.asp-health-intro>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#18735a;color:#fff;font-size:30px}.asp-health-intro h2,.asp-health-intro p{margin:3px 0}.asp-health-filters,.asp-health-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.asp-health-actions{display:flex;gap:9px;margin-top:12px}.asp-health-actions button{flex:1}.asp-health-records{margin-top:16px}.asp-health-records>header,.asp-announcement-status>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.asp-health-record{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:11px;padding:15px;border:1px solid #d8e7e2;border-right:5px solid #18735a;border-radius:16px;background:#fff}.asp-health-record h3,.asp-health-record p{margin:4px 0}.asp-health-record>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.asp-health-record .danger{background:#fbe8ec;color:#a51e42}
.asp-check{display:flex!important;align-items:center;gap:9px}.asp-check input{width:auto}.asp-current-announcement{margin:10px 0;padding:16px;border-radius:16px;background:linear-gradient(135deg,#7b1734,#a62d52);color:#fff}.asp-current-announcement h3,.asp-current-announcement p{margin:5px 0}
.asp-announcement-overlay{position:fixed;z-index:1000001;inset:0;display:grid;place-items:center;padding:18px;background:rgba(32,13,21,.68);backdrop-filter:blur(10px)}.asp-announcement-overlay article{width:min(560px,100%);padding:30px;border-radius:26px;background:#fff;text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.32);animation:aspIn .35s ease}.asp-announcement-overlay article>span{display:grid;place-items:center;width:70px;height:70px;margin:auto;border-radius:22px;background:#f5e7ec;font-size:36px}.asp-announcement-overlay h2{color:#7b1734}.asp-announcement-overlay p{white-space:pre-line;line-height:1.9}.asp-announcement-overlay button{min-width:180px}
.asp-loading-screen{background:radial-gradient(circle at 50% 35%,rgba(123,23,52,.10),rgba(255,252,253,.97) 46%)!important}.asp-loading-screen>div{animation:aspLoaderEnter .3s ease}.asp-loading-screen p{animation:aspLoadingText 1.2s ease-in-out infinite alternate}@keyframes aspLoaderEnter{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}@keyframes aspLoadingText{from{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}
.asp-elementary{--q:#6d3ed1;--qd:#3f267d;--line:#ded6f6;background:linear-gradient(135deg,#fff9e8,#eef8ff 45%,#f8efff);border-radius:28px}.asp-elementary .asp-header{border-color:#d9cff4;background:rgba(255,255,255,.94)}.asp-elementary .asp-tabs button.active{background:linear-gradient(135deg,#6d3ed1,#3f9be0)}.asp-elementary-games .asp-games-hero{display:flex;align-items:center;gap:14px;padding:20px;border-radius:24px;background:linear-gradient(135deg,#6d3ed1,#3f9be0);color:#fff}.asp-games-hero>span{font-size:45px}.asp-games-hero h2,.asp-games-hero p{margin:3px}.asp-games-hero>b{margin-inline-start:auto;padding:9px 14px;border-radius:999px;background:#fff;color:#5630a8}.asp-games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.asp-games-grid article{padding:20px;border:1px solid #ded6f6;border-radius:22px;background:#fff;text-align:center;box-shadow:0 12px 28px rgba(75,44,143,.09)}.asp-games-grid article>span{font-size:42px}.asp-games-grid h3{color:#5630a8}.asp-games-grid small{display:block;min-height:24px;margin-top:9px;color:#16744c;font-weight:800}
@media(max-width:850px){#palestinian-portal.asp{width:100%;margin:0;padding:0}.asp-sidebar-brand{position:sticky;top:0;z-index:2;background:#fff}.asp-owner-section-nav{grid-template-columns:repeat(2,1fr);margin:10px}.asp-health-filters,.asp-health-grid,.asp-games-grid{grid-template-columns:1fr}.asp-health-record{flex-direction:column}.asp-health-record>div:last-child,.asp-health-record>div:last-child button{width:100%}.asp-health-actions{flex-direction:column}.asp-games-hero{align-items:flex-start!important;flex-wrap:wrap}.asp-games-hero>b{margin-inline-start:0}.asp-announcement-overlay article{padding:22px 16px}}
@media(max-width:430px){.asp-owner-section-nav{grid-template-columns:1fr}.asp-sidebar-brand b{font-size:16px}}

/* 2.4.39: keep the portal inside the WordPress content area and remove page-level horizontal scrolling */
#palestinian-portal.asp{
  width:100%;
  max-width:100%;
  min-width:0;
  margin:16px auto;
  padding:0 12px;
  overflow-x:clip;
  box-sizing:border-box;
}
#palestinian-portal.asp>*{min-width:0;max-width:100%;box-sizing:border-box}
#palestinian-portal .asp-panel,
#palestinian-portal .asp-card,
#palestinian-portal .asp-owner-section-nav,
#palestinian-portal .asp-owner-stats,
#palestinian-portal .asp-owner-switches,
#palestinian-portal .asp-owner-students,
#palestinian-portal .asp-owner-logins,
#palestinian-portal .asp-summary-section{min-width:0;max-width:100%}
#palestinian-portal .asp-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}

@media(min-width:851px){
  .asp[data-role="teacher"]>.asp-tabs,
  .asp[data-role="owner"]>.asp-tabs,
  .asp[data-role="student"]>.asp-tabs{right:14px;width:216px;padding:10px!important;border-radius:19px}
  .asp[data-role="teacher"]>.asp-header,
  .asp[data-role="teacher"]>.asp-panel,
  .asp[data-role="teacher"]>.asp-developer-credit,
  .asp[data-role="owner"]>.asp-header,
  .asp[data-role="owner"]>.asp-panel,
  .asp[data-role="owner"]>.asp-developer-credit,
  .asp[data-role="student"]>.asp-header,
  .asp[data-role="student"]>.asp-panel,
  .asp[data-role="student"]>.asp-developer-credit{margin-right:232px}
  .asp-sidebar-brand{grid-template-columns:42px 1fr;padding:8px}
  .asp-sidebar-brand img{width:42px;height:42px}
  .asp-sidebar-brand b{font-size:15px}
  .asp[data-role="teacher"]>.asp-tabs button,
  .asp[data-role="owner"]>.asp-tabs button,
  .asp[data-role="student"]>.asp-tabs button,
  .asp[data-role="teacher"]>.asp-tabs summary,
  .asp[data-role="owner"]>.asp-tabs summary{min-height:41px;padding:9px 11px;font-size:14px}
  .asp-owner-section-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px}
  .asp-owner-section-nav button{min-width:0;padding:10px 8px;font-size:14px}
  .asp-owner-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
  .asp-owner-stats div{min-width:0;padding:15px 8px}
  .asp-owner-stats b{font-size:24px}
}

@media(max-width:1100px) and (min-width:851px){
  .asp-owner-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .asp-owner-switches{grid-template-columns:1fr}
  .asp-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:850px){
  #palestinian-portal.asp{width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden}
  #palestinian-portal .asp-header,
  #palestinian-portal .asp-panel{width:100%;max-width:100%}
  #palestinian-portal .asp-panel{padding-inline:10px}
}

/* 2.4.40: spacious homework review, correction and completion report */
.asp-homework-teacher-card{display:grid;gap:12px}
.asp-homework-card-counts{display:grid;gap:5px;text-align:center}
.asp-homework-card-counts small{padding:4px 9px;border-radius:999px;background:#e8f6ee;color:#087044;font-weight:900}
.asp-homework-open-review{width:100%;min-height:50px;margin-top:3px;background:linear-gradient(135deg,#7b1734,#a62d52)!important;font-size:16px}
.asp-homework-review-dialog{direction:rtl;width:min(1500px,calc(100vw - 24px));max-width:none;height:calc(100dvh - 24px);max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid #d9c4cc;border-radius:24px;background:#f8f4f6;color:#2e2529;font-family:"Segoe UI",Tahoma,Arial,sans-serif;box-shadow:0 30px 100px rgba(36,10,21,.38)}
.asp-homework-review-dialog::backdrop{background:rgba(32,13,21,.62);backdrop-filter:blur(8px)}
.asp-homework-review-dialog button,.asp-homework-review-dialog input,.asp-homework-review-dialog select,.asp-homework-review-dialog textarea{font:inherit}
.asp-homework-review-dialog button{cursor:pointer;border:0;border-radius:12px;padding:11px 15px;background:#7b1734;color:#fff;font-weight:900}
.asp-homework-review-dialog button.secondary{background:#f3e5ea;color:#7b1734}
.asp-homework-review-shell{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);height:100%;min-height:0}
.asp-homework-review-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px;border-bottom:1px solid #e1cfd6;background:#fff}
.asp-homework-review-head>div{text-align:center}.asp-homework-review-head h2,.asp-homework-review-head p{margin:4px 0}.asp-homework-review-head h2{color:#67152e}.asp-homework-review-head p{color:#6e6267;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asp-homework-review-head span{color:#8f2748;font-weight:900}
.asp-homework-original{padding:9px 20px;background:#fff;border-bottom:1px solid #eadce1}.asp-homework-original .asp-homework-review-media{display:flex;align-items:center;gap:10px}.asp-homework-original .asp-homework-review-media img,.asp-homework-original .asp-homework-review-media iframe{display:none}
.asp-homework-review-media>a{display:inline-flex;align-items:center;gap:7px;color:#7b1734;font-weight:900;text-decoration:none}.asp-homework-review-media img,.asp-homework-review-media iframe{display:block;width:100%;height:min(54vh,620px);margin-top:12px;border:1px solid #ddcbd2;border-radius:16px;background:#f5f1f3;object-fit:contain}
.asp-homework-review-stats{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px;padding:10px 20px;background:#f7edf1;border-bottom:1px solid #e3d2d8}.asp-homework-review-stats article{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:9px;border:1px solid #e5d7dc;border-radius:14px;background:#fff}.asp-homework-review-stats b{color:#7b1734;font-size:24px}.asp-homework-review-stats span{font-weight:800}.asp-homework-review-stats .is-blue b{color:#216ca8}.asp-homework-review-stats .is-red b{color:#b62543}.asp-homework-review-stats .is-green b{color:#13834f}
.asp-homework-review-layout{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0;overflow:hidden}
.asp-homework-review-layout>aside{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:13px;border-left:1px solid #dfcdd4;background:#fff}
.asp-homework-review-filter{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:10px}.asp-homework-review-filter input,.asp-homework-review-filter select,.asp-homework-review-grade input,.asp-homework-review-grade textarea{width:100%;padding:11px 12px;border:1px solid #d9c8ce;border-radius:11px;background:#fff;outline:0;box-sizing:border-box}.asp-homework-review-filter input:focus,.asp-homework-review-filter select:focus,.asp-homework-review-grade input:focus,.asp-homework-review-grade textarea:focus{border-color:#9d4965;box-shadow:0 0 0 3px rgba(123,23,52,.10)}
#asp-homework-review-students{display:grid;align-content:start;gap:7px;min-height:0;overflow:auto;padding-left:4px}#asp-homework-review-students>button{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding:11px;background:#fff;color:#32272b;border:1px solid #eadce1;text-align:right}#asp-homework-review-students>button:hover,#asp-homework-review-students>button.active{border-color:#7b1734;background:#f8eaf0;box-shadow:0 6px 16px rgba(93,20,47,.10)}#asp-homework-review-students>button[hidden]{display:none}#asp-homework-review-students small,.asp-homework-status{display:inline-flex;padding:4px 8px;border-radius:999px;white-space:nowrap;font-weight:900}#asp-homework-review-students .is-missing,.asp-homework-status.is-missing{background:#ffe5e9;color:#a42536}#asp-homework-review-students .is-submitted,.asp-homework-status.is-submitted{background:#fff0ce;color:#8a5200}#asp-homework-review-students .is-graded,.asp-homework-status.is-graded{background:#e4f7ee;color:#087443}
.asp-homework-review-layout>main{min-width:0;min-height:0;overflow:auto;padding:20px 24px;background:#fbf8f9}.asp-homework-review-layout>main>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px solid #e1d2d7}.asp-homework-review-layout>main h3,.asp-homework-review-layout>main h4{margin:5px 0;color:#61142c}.asp-homework-review-layout>main small{color:#75696d}.asp-homework-review-layout>main>header>b{color:#087443}
.asp-homework-answer{padding:17px;border:1px solid #e2d2d8;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(75,17,39,.06)}.asp-homework-answer>p{min-height:54px;white-space:pre-wrap;line-height:1.8}
.asp-homework-review-grade{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;align-items:end;gap:11px;margin-top:15px;padding:16px;border:1px solid #decbd2;border-radius:17px;background:#fff}.asp-homework-review-grade label{display:grid;gap:6px;color:#6b1732;font-weight:900}.asp-homework-review-grade textarea{min-height:86px;resize:vertical}.asp-homework-review-grade button{min-height:48px}.asp-homework-review-grade .asp-message{grid-column:1/-1;min-height:20px;color:#8f2042;font-weight:800}
.asp-homework-empty{display:grid;place-items:center;min-height:55vh;text-align:center}.asp-homework-empty>span{font-size:58px}.asp-homework-empty h3{font-size:26px}.asp-homework-empty p{color:#75696d}
@media(max-width:900px){.asp-homework-review-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.asp-homework-review-head{grid-template-columns:1fr 1fr;padding:11px}.asp-homework-review-head>div{grid-column:1/-1;grid-row:1}.asp-homework-review-head>button{grid-row:2}.asp-homework-review-head p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.asp-homework-review-stats{grid-template-columns:repeat(2,1fr);padding:8px}.asp-homework-review-layout{grid-template-columns:1fr;grid-template-rows:minmax(190px,34vh) minmax(0,1fr)}.asp-homework-review-layout>aside{border-left:0;border-bottom:1px solid #dfcdd4;padding:9px}.asp-homework-review-filter{grid-template-columns:1fr 1fr}#asp-homework-review-students{grid-template-columns:repeat(2,minmax(0,1fr))}.asp-homework-review-layout>main{padding:13px}.asp-homework-review-grade{grid-template-columns:1fr}.asp-homework-review-grade button{width:100%}.asp-homework-review-media img,.asp-homework-review-media iframe{height:min(42vh,440px)}}
@media(max-width:520px){.asp-homework-review-head h2{font-size:19px}.asp-homework-review-head button{padding:9px 8px;font-size:12px}.asp-homework-review-stats article{min-height:48px;padding:6px}.asp-homework-review-stats b{font-size:20px}.asp-homework-review-stats span{font-size:12px}.asp-homework-review-filter{grid-template-columns:1fr}#asp-homework-review-students{grid-template-columns:1fr}.asp-homework-review-layout{grid-template-rows:minmax(220px,38vh) minmax(0,1fr)}}

/* 2.4.41: reliable homework printing and staff password recovery */
#asp-forgot-password{width:100%;margin-top:9px;padding:10px 12px;font-size:13px}
#asp-forgot-password:disabled{cursor:wait;opacity:.65}
/* التواصل الحديث مع الأخصائي الاجتماعي */
.asp-social-badge{display:inline-grid!important;place-items:center;min-width:24px;height:24px;margin-inline-start:auto;padding:0 7px;border-radius:999px;background:#c6284b;color:#fff;font-size:12px;font-style:normal}.asp-social-badge[hidden]{display:none!important}
.asp-social-intro{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:20px 22px;border:1px solid #ead9df;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f9eef2 100%)}.asp-social-intro>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#8a1538;color:#fff;font-size:30px}.asp-social-intro h2,.asp-social-intro p{margin:0}.asp-social-intro p{margin-top:5px;color:#6f6267}.asp-social-intro>strong{margin-inline-start:auto;padding:9px 13px;border-radius:999px;background:#f4dfe6;color:#781331}
.asp-social-request-grid{display:grid;grid-template-columns:220px minmax(280px,1fr);gap:14px}.asp-social-requests>header,.asp-social-request>header,.asp-social-response>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.asp-social-request{margin:14px 0;padding:20px;border:1px solid #e6d4da;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(68,22,37,.06)}.asp-social-request.is-closed{opacity:.82;background:#faf8f9}.asp-social-request h3,.asp-social-request p{margin:4px 0}.asp-social-request header span,.asp-social-request time{color:#807176;font-size:13px}.asp-social-request header>strong{padding:8px 12px;border-radius:999px;background:#f7dfe7;color:#8a1538}.asp-social-ratings{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:18px 0}.asp-social-response-list{display:grid;gap:10px;margin:15px 0}.asp-social-response{padding:14px;border-radius:15px;background:#f8f3f5;border:1px solid #eadde2}.asp-social-response div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.asp-social-response div span{padding:7px 9px;border-radius:10px;background:#fff}.asp-social-empty{padding:18px;text-align:center;color:#74666b;background:#faf6f7;border-radius:14px}.asp-social-closed{display:inline-block;padding:8px 12px;border-radius:999px;background:#e4f5eb;color:#147842;font-weight:800}
@media(max-width:760px){.asp-social-intro{align-items:flex-start;flex-wrap:wrap;padding:16px}.asp-social-intro>strong{margin-inline-start:0;width:100%}.asp-social-request-grid,.asp-social-ratings{grid-template-columns:1fr}.asp-social-requests>header,.asp-social-request>header{display:grid}.asp-social-request{padding:15px}.asp-social-response div{display:grid;grid-template-columns:1fr 1fr}}
.asp-social-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.asp-social-response-form h4{margin:20px 0 8px;padding:9px 12px;border-radius:10px;background:#781331;color:#fff}.asp-social-rating-table{min-width:650px;width:100%;border-collapse:collapse}.asp-social-rating-table th,.asp-social-rating-table td{border:1px solid #dcc8cf;padding:8px;text-align:center}.asp-social-rating-table th{background:#8a1538;color:#fff}.asp-social-rating-table td:nth-child(2){width:65%;text-align:right}.asp-social-rating-table td:nth-child(n+3){width:58px}.asp-rating-choice{display:block;cursor:pointer}.asp-rating-choice input{position:absolute;opacity:0}.asp-rating-choice span{display:grid;place-items:center;width:34px;height:34px;margin:auto;border:2px solid #d7c4cb;border-radius:50%;background:#fff}.asp-rating-choice input:checked+span{border-color:#8a1538;background:#8a1538;color:#fff;font-weight:900}.asp-social-rating-table td input[type=text],.asp-social-rating-table td input:not([type]){display:inline-block;width:60%;margin-inline-start:8px}.asp-social-recommendations{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;padding:16px;border:1px solid #dcc8cf;border-radius:16px}.asp-social-recommendations legend{padding:0 8px;color:#781331;font-weight:900}.asp-social-response header small{display:block;color:#75666b;margin-top:4px}.asp-social-response>button{margin-top:9px}
@media(max-width:760px){.asp-social-meta,.asp-social-recommendations{grid-template-columns:1fr}.asp-social-rating-table{min-width:560px}}

.asp-social-kind-hint{margin:8px 0 12px;padding:9px 12px;border-radius:10px;background:#fbf3f5;color:#6f1530;font-size:13px}
.asp-social-request-grid [hidden]{display:none!important}
.asp-kind-badge{display:inline-block;font-style:normal;font-weight:800;font-size:12px;padding:2px 9px;border-radius:999px;margin-inline-end:6px;background:#f4e4e8;color:#72172f}
.asp-kind-badge.asp-kind-class{background:#e8eefb;color:#1f3d7a}
.asp-social-batch{border:1px solid #d9c4ca;border-radius:14px;margin:12px 0;background:#fff;overflow:hidden}
.asp-social-batch>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#fbf3f5;list-style:none}
.asp-social-batch>summary::-webkit-details-marker{display:none}
.asp-social-batch>summary p{margin:4px 0 0;color:#5d4a50;font-size:13px}
.asp-social-batch-body{padding:6px 12px 12px}
.asp-social-batch>.secondary,.asp-social-batch>.asp-social-closed{margin:0 12px 12px}

.asp-social-kind-field{grid-column:1/-1}
.asp-social-request-grid select{width:100%;text-overflow:ellipsis}

/* بطاقات مراجعة وتعديل الغياب */
.asp-attendance-student-cards{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:11px;margin:15px 0}
.asp-attendance-student-card{display:grid;gap:8px;padding:14px;border:1px solid #e2d5da;border-right:5px solid #13834f;border-radius:15px;background:#fff;box-shadow:0 5px 14px rgba(71,25,42,.05)}
.asp-attendance-student-card.status-excused{border-right-color:#d47a08;background:#fffaf1}.asp-attendance-student-card.status-unexcused{border-right-color:#b62543;background:#fff6f8}
.asp-attendance-student-card strong{color:#3c3034}.asp-attendance-student-card small{color:#786b70}.asp-attendance-student-card select{width:100%;margin:0}
.asp-attendance-note-field{display:grid;gap:5px;color:#66585d;font-size:12px;font-weight:800}.asp-edit-attendance-note{width:100%;min-height:42px;margin:0;padding:9px 11px;border:1px solid #d9c8ce;border-radius:10px;background:#fff;color:#30292c}.asp-edit-attendance-note:disabled{opacity:1;background:rgba(255,255,255,.72);color:#4f4448}
.asp-resend-attendance{width:100%;margin-top:8px;background:#18735a!important}
.asp-attendance-report details>summary{cursor:pointer;padding:11px 13px;border-radius:12px;background:#f8edf1;color:#7b1734;font-weight:900}
@media(max-width:980px){.asp-attendance-student-cards{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:620px){.asp-attendance-student-cards{grid-template-columns:1fr}.asp-attendance-student-card{padding:12px}}
.asp-attendance-student-card.status-excused{border-right-color:#13834f;background:#f2fbf6}.asp-attendance-student-card.status-excused select{color:#08723e;border-color:#8fd2ae}.asp-attendance-student-card.status-unexcused select{color:#a51937;border-color:#e8a6b4}
.asp-attendance-key-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}.asp-attendance-key-meta strong{display:inline-flex;align-items:center;min-height:36px;padding:7px 13px;border-radius:11px;font-size:16px;font-weight:950}.asp-attendance-key-meta .period{background:#f6e6ec;color:#7b1734}.asp-attendance-key-meta .grade{background:#e7f2fb;color:#165f91}.asp-attendance-report-actions{display:flex;gap:8px;flex-wrap:wrap}.asp-attendance-report-actions .danger{background:#fff0f3;color:#a51937;border:1px solid #edbdc7}
@media(max-width:620px){.asp-attendance-key-meta strong{width:100%;justify-content:center}.asp-attendance-report-actions,.asp-attendance-report-actions button{width:100%}}

/* Attendance archive is kept beside the live reports so supervisors and the owner can find it. */
.asp-attendance-archive{margin:18px 0;padding:14px;border:1px solid #decbd2;border-radius:18px;background:#fffafc}
.asp-attendance-archive summary{cursor:pointer;color:#7b1734;font-size:17px;font-weight:900}
.asp-attendance-archive details>div{display:grid;gap:9px;margin-top:12px}
.asp-attendance-archive article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #eadce1;border-radius:13px;background:#fff}
.asp-attendance-archive article div{display:grid;gap:3px}.asp-attendance-archive article span,.asp-attendance-archive article small{color:#756a6e}
.asp-attendance-archive button{width:auto;background:#7b1734;color:#fff}
@media(max-width:700px){.asp-attendance-archive article{align-items:stretch;flex-direction:column}.asp-attendance-archive button{width:100%}}

/* 2.4.60: one gradebook hub, wider desktop workspace, compact non-repeated brand */
@media(min-width:851px){
  #palestinian-portal.asp{padding-inline:4px}
  .asp[data-role="teacher"]>.asp-tabs,.asp[data-role="owner"]>.asp-tabs,.asp[data-role="student"]>.asp-tabs{right:10px;width:216px}
  .asp[data-role="teacher"]>.asp-header,.asp[data-role="teacher"]>.asp-panel,.asp[data-role="teacher"]>.asp-developer-credit,.asp[data-role="owner"]>.asp-header,.asp[data-role="owner"]>.asp-panel,.asp[data-role="owner"]>.asp-developer-credit,.asp[data-role="student"]>.asp-header,.asp[data-role="student"]>.asp-panel,.asp[data-role="student"]>.asp-developer-credit{margin-right:236px}
}
.asp-sidebar-brand{display:flex;justify-content:center;padding:7px;margin-bottom:7px}
.asp-sidebar-brand img{width:54px;height:54px}
.asp-gradebook-section-nav{position:sticky;z-index:12;top:8px;display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:8px;margin:14px 0 20px;padding:10px;border:1px solid #e4d2d9;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(75,16,39,.10);backdrop-filter:blur(12px)}
.asp-gradebook-section-nav button{min-height:48px;background:#f7edf1;color:#731832;box-shadow:none}.asp-gradebook-section-nav button.active{background:linear-gradient(135deg,#7b1734,#a62d52);color:#fff}
#gradebook .asp-gradebook-view-section{display:none!important}
#gradebook[data-gradebook-view="entry"] .asp-gradebook-view-section.is-entry,#gradebook[data-gradebook-view="history"] .asp-gradebook-view-section.is-history,#gradebook[data-gradebook-view="teachers"] .asp-gradebook-view-section.is-teachers:not([hidden]),#gradebook[data-gradebook-view="analytics"] .asp-gradebook-view-section.is-analytics,#gradebook[data-gradebook-view="tracking"] .asp-gradebook-view-section.is-tracking{display:block!important}
#gradebook .asp-gradebook-view-section.is-tracking{margin-top:0}
@media(max-width:900px){.asp-gradebook-section-nav{position:static;grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.asp-gradebook-section-nav{grid-template-columns:1fr;margin:10px 12px}.asp-gradebook-section-nav button{width:100%}}

/* Functional controls added after the 2.4.62 visual baseline. */
.asp-roster-home-choice{display:flex!important;align-items:center;gap:8px}
.asp-roster-home-choice .asp-roster-page-home{width:auto!important;min-width:18px;height:18px;margin:0}
.asp-home-roster-empty{text-align:center;padding:24px;border:1px dashed #d8bdc7;border-radius:16px;background:#fff}
.asp-home-roster-empty h3,.asp-home-roster-empty p{margin:7px 0}

/* 2.4.66: owner attendance entry on behalf of administrative staff */
/* 2.4.67: attendance notes and status colors */
.asp-attendance-admin-add{margin:14px 0;padding:12px;border:1px solid #e3d1d8;border-radius:15px;background:#fff8fa}.asp-attendance-admin-add>summary{cursor:pointer;color:#7b1734;font-weight:900}.asp-attendance-admin-add>div{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:9px;align-items:center;margin-top:12px}.asp-attendance-admin-add input{margin:0}.asp-attendance-admin-add .asp-message{grid-column:1/-1}.asp-attendance-head:has(#asp-attendance-author){grid-template-columns:repeat(5,minmax(150px,1fr))}@media(max-width:900px){.asp-attendance-admin-add>div{grid-template-columns:1fr 1fr}.asp-attendance-head:has(#asp-attendance-author){grid-template-columns:1fr 1fr}}@media(max-width:560px){.asp-attendance-admin-add>div,.asp-attendance-head:has(#asp-attendance-author){grid-template-columns:1fr}}

/* متابعة الكنترول: صفحة واحدة مرتبطة بجدول الاختبارات */
.asp-control-intro{display:flex;align-items:center;gap:14px;padding:19px;border:1px solid #e8d4dc;border-radius:22px;background:linear-gradient(135deg,#fff,#fbecf2);box-shadow:0 12px 32px rgba(91,18,47,.08)}.asp-control-intro>span{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:linear-gradient(135deg,#701530,#a62b52);color:#fff;font-size:27px}.asp-control-intro h2,.asp-control-intro p{margin:3px}.asp-control-intro>button{margin-inline-start:auto}.asp-control-filters{display:grid;grid-template-columns:190px 1fr 1.4fr auto;gap:10px;align-items:end;margin:15px 0;padding:14px;border:1px solid #ead8df;border-radius:18px;background:#fff}.asp-control-filters label{font-weight:800;color:#64132d}.asp-control-filters input,.asp-control-filters select{margin-top:6px}.asp-control-table{width:100%;min-width:940px;border-collapse:separate;border-spacing:0 7px}.asp-control-table th{padding:11px;background:#68132f;color:#fff}.asp-control-table th:first-child{border-radius:0 12px 12px 0}.asp-control-table th:last-child{border-radius:12px 0 0 12px}.asp-control-table td{padding:10px;border-top:1px solid #ead8df;border-bottom:1px solid #ead8df;background:#fff;vertical-align:middle}.asp-control-table td:first-child{border-right:1px solid #ead8df;border-radius:0 12px 12px 0}.asp-control-table td:last-child{border-left:1px solid #ead8df;border-radius:12px 0 0 12px}.asp-control-status,.asp-control-select{display:inline-flex;min-width:128px;padding:7px 10px;border:0;border-radius:999px;font-weight:900;text-align:center}.asp-control-select{cursor:pointer}.asp-control-status.is-empty,.asp-control-select:not([class*="is-"]){background:#eee;color:#666}.asp-control-status.is-not-corrected,.asp-control-select.is-not-corrected{background:#ffe2e8;color:#9d1734}.asp-control-status.is-correcting,.asp-control-select.is-correcting{background:#fff0c9;color:#875800}.asp-control-status.is-corrected,.asp-control-select.is-corrected{background:#dcf3ff;color:#09668e}.asp-control-status.is-recorded,.asp-control-select.is-recorded{background:#d9f5e6;color:#08703e}@media(max-width:760px){.asp-control-intro{align-items:flex-start;flex-wrap:wrap}.asp-control-intro>button{width:100%;margin:0}.asp-control-filters{grid-template-columns:1fr}.asp-control-filters button{width:100%}}

/* 2.4.73: فقاعات القائمة التفاعلية */
.asp[data-role="teacher"]>.asp-tabs>button,.asp[data-role="owner"]>.asp-tabs>button,.asp[data-role="student"]>.asp-tabs>button,.asp[data-role="teacher"]>.asp-tabs>details>summary,.asp[data-role="owner"]>.asp-tabs>details>summary{position:relative;overflow:hidden;isolation:isolate;display:flex!important;align-items:center!important;min-height:50px!important;margin:4px 1px;padding:11px 15px!important;border:1px solid #ead4dd!important;border-radius:999px!important;background:linear-gradient(145deg,#fff,#f9edf2)!important;color:#701630!important;box-shadow:0 6px 16px rgba(78,18,42,.09);font-weight:900;transition:transform .16s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.asp[data-role="teacher"]>.asp-tabs>button:before,.asp[data-role="owner"]>.asp-tabs>button:before,.asp[data-role="student"]>.asp-tabs>button:before,.asp[data-role="teacher"]>.asp-tabs>details>summary:before,.asp[data-role="owner"]>.asp-tabs>details>summary:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.72) 48%,transparent 75%);transform:translateX(115%);transition:transform .42s ease}.asp[data-role="teacher"]>.asp-tabs>button:hover,.asp[data-role="owner"]>.asp-tabs>button:hover,.asp[data-role="student"]>.asp-tabs>button:hover,.asp[data-role="teacher"]>.asp-tabs>details>summary:hover,.asp[data-role="owner"]>.asp-tabs>details>summary:hover{transform:translateY(-2px);border-color:#c7849d!important;box-shadow:0 10px 24px rgba(92,20,49,.16)}.asp[data-role="teacher"]>.asp-tabs>button:hover:before,.asp[data-role="owner"]>.asp-tabs>button:hover:before,.asp[data-role="student"]>.asp-tabs>button:hover:before,.asp[data-role="teacher"]>.asp-tabs>details>summary:hover:before,.asp[data-role="owner"]>.asp-tabs>details>summary:hover:before{transform:translateX(-115%)}.asp[data-role="teacher"]>.asp-tabs>button:active,.asp[data-role="owner"]>.asp-tabs>button:active,.asp[data-role="student"]>.asp-tabs>button:active,.asp[data-role="teacher"]>.asp-tabs>details>summary:active,.asp[data-role="owner"]>.asp-tabs>details>summary:active{transform:scale(.955);box-shadow:0 2px 7px rgba(78,18,42,.14)}.asp[data-role="teacher"]>.asp-tabs>button.active,.asp[data-role="owner"]>.asp-tabs>button.active,.asp[data-role="student"]>.asp-tabs>button.active,.asp[data-role="teacher"]>.asp-tabs>details[open]>summary,.asp[data-role="owner"]>.asp-tabs>details[open]>summary{border-color:#74152f!important;background:linear-gradient(135deg,#74152f,#aa3056)!important;color:#fff!important;box-shadow:0 10px 25px rgba(113,20,48,.28)}.asp[data-role="teacher"]>.asp-tabs details>div,.asp[data-role="owner"]>.asp-tabs details>div{border-radius:22px!important}.asp[data-role="teacher"]>.asp-tabs details>div button,.asp[data-role="owner"]>.asp-tabs details>div button{min-height:42px!important;margin:3px 0!important;border:1px solid #e6ced8!important;border-radius:999px!important;background:#fff!important;color:#701630!important;box-shadow:none!important}.asp[data-role="teacher"]>.asp-tabs details>div button.active,.asp[data-role="owner"]>.asp-tabs details>div button.active{background:#edd6df!important;border-color:#c28199!important}.asp[data-role="teacher"]>.asp-tabs::-webkit-scrollbar,.asp[data-role="owner"]>.asp-tabs::-webkit-scrollbar,.asp[data-role="student"]>.asp-tabs::-webkit-scrollbar{width:5px}.asp[data-role="teacher"]>.asp-tabs::-webkit-scrollbar-thumb,.asp[data-role="owner"]>.asp-tabs::-webkit-scrollbar-thumb,.asp[data-role="student"]>.asp-tabs::-webkit-scrollbar-thumb{border-radius:99px;background:#d8b4c2}@media(max-width:850px){.asp[data-role="teacher"]>.asp-tabs,.asp[data-role="owner"]>.asp-tabs,.asp[data-role="student"]>.asp-tabs{width:min(90vw,340px)!important;padding:12px!important}.asp[data-role="teacher"]>.asp-tabs>button,.asp[data-role="owner"]>.asp-tabs>button,.asp[data-role="student"]>.asp-tabs>button,.asp[data-role="teacher"]>.asp-tabs>details>summary,.asp[data-role="owner"]>.asp-tabs>details>summary{min-height:56px!important;margin:5px 1px;padding:14px 16px!important;font-size:15px!important;touch-action:manipulation}.asp[data-role="teacher"]>.asp-tabs button:hover,.asp[data-role="owner"]>.asp-tabs button:hover,.asp[data-role="student"]>.asp-tabs button:hover{transform:none}.asp[data-role="teacher"]>.asp-tabs button:active,.asp[data-role="owner"]>.asp-tabs button:active,.asp[data-role="student"]>.asp-tabs button:active{transform:scale(.96)}}@media(prefers-reduced-motion:reduce){.asp[data-role="teacher"]>.asp-tabs button,.asp[data-role="owner"]>.asp-tabs button,.asp[data-role="student"]>.asp-tabs button,.asp[data-role="teacher"]>.asp-tabs summary,.asp[data-role="owner"]>.asp-tabs summary{transition:none!important}.asp[data-role="teacher"]>.asp-tabs button:before,.asp[data-role="owner"]>.asp-tabs button:before,.asp[data-role="student"]>.asp-tabs button:before{display:none}}


/* 2.4.74 — independent control schedule */
.asp-control-days{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin}.asp-control-days button{flex:0 0 auto;min-width:120px;padding:12px 16px;border:1px solid #ead5dc;border-radius:18px;background:#fff;color:#68132f;box-shadow:0 7px 20px rgba(104,19,47,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.asp-control-days button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(104,19,47,.14)}.asp-control-days button.active{background:linear-gradient(135deg,#761538,#a42350);color:#fff;border-color:transparent}.asp-control-days button.is-future:not(.active){background:#f8f5f6;color:#82747a}.asp-control-days b,.asp-control-days small{display:block}.asp-control-days small{margin-top:3px}.asp-control-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.asp-control-summary>div{padding:12px;border:1px solid #ead7de;border-radius:16px;background:#fff;text-align:center}.asp-control-summary b,.asp-control-summary span{display:block}.asp-control-summary b{font-size:24px;color:#68132f}.asp-control-summary span{margin-top:2px;font-size:12px}.asp-control-summary .is-not-corrected{background:#ffe2e8}.asp-control-summary .is-correcting{background:#fff0c9}.asp-control-summary .is-corrected{background:#dcf3ff}.asp-control-summary .is-recorded{background:#d9f5e6}.asp-control-table tr.is-future{opacity:.72}.asp-control-status.is-future{background:#eee8eb;color:#6f6268}.asp-management-control-summary{margin-top:18px}.asp-management-control-summary>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.asp-management-control-summary h3,.asp-management-control-summary p{margin:3px 0}
@media(max-width:760px){.asp-control-days{margin-inline:-4px}.asp-control-days button{min-width:106px;padding:10px 12px}.asp-control-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.asp-management-control-summary>header{align-items:stretch;flex-direction:column}.asp-management-control-summary>header button{width:100%}}

/* 2.4.75 — compact mobile sidebar bubbles */
@media(max-width:850px){
  .asp[data-role="teacher"]>.asp-tabs,
  .asp[data-role="owner"]>.asp-tabs,
  .asp[data-role="student"]>.asp-tabs{width:min(82vw,290px)!important;padding:10px!important}
  .asp[data-role="teacher"]>.asp-tabs>button,
  .asp[data-role="owner"]>.asp-tabs>button,
  .asp[data-role="student"]>.asp-tabs>button,
  .asp[data-role="teacher"]>.asp-tabs>details>summary,
  .asp[data-role="owner"]>.asp-tabs>details>summary{min-height:50px!important;margin:4px 0!important;padding:10px 12px!important;font-size:14px!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere;text-wrap:balance}
}
@media(max-width:390px){
  .asp[data-role="teacher"]>.asp-tabs,
  .asp[data-role="owner"]>.asp-tabs,
  .asp[data-role="student"]>.asp-tabs{width:min(80vw,280px)!important}
  .asp-sidebar-brand img{width:46px;height:46px}
}

/* 2.4.76 — desktop navigation is a full-width horizontal bar */
@media(min-width:851px){
  .asp[data-role="teacher"]>.asp-tabs,
  .asp[data-role="owner"]>.asp-tabs,
  .asp[data-role="student"]>.asp-tabs{position:sticky!important;z-index:90;top:8px!important;right:auto!important;bottom:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;width:100%!important;max-height:none!important;margin:10px 0 18px!important;padding:8px!important;overflow:visible!important;border-radius:18px!important}
  .asp[data-role="teacher"]>.asp-tabs>.asp-sidebar-brand,
  .asp[data-role="owner"]>.asp-tabs>.asp-sidebar-brand,
  .asp[data-role="student"]>.asp-tabs>.asp-sidebar-brand{display:none!important}
  .asp[data-role="teacher"]>.asp-tabs>button,
  .asp[data-role="owner"]>.asp-tabs>button,
  .asp[data-role="student"]>.asp-tabs>button,
  .asp[data-role="teacher"]>.asp-tabs>details,
  .asp[data-role="owner"]>.asp-tabs>details{flex:1 1 132px!important;width:auto!important;min-width:112px!important;max-width:190px!important;margin:0!important}
  .asp[data-role="teacher"]>.asp-tabs>button,
  .asp[data-role="owner"]>.asp-tabs>button,
  .asp[data-role="student"]>.asp-tabs>button,
  .asp[data-role="teacher"]>.asp-tabs>details>summary,
  .asp[data-role="owner"]>.asp-tabs>details>summary{width:100%!important;min-height:42px!important;margin:0!important;padding:8px 10px!important;border-radius:13px!important;font-size:13px!important;line-height:1.25!important;white-space:normal!important;text-align:center!important;justify-content:center!important}
  .asp[data-role="teacher"]>.asp-tabs>details,
  .asp[data-role="owner"]>.asp-tabs>details{position:relative!important}
  .asp[data-role="teacher"]>.asp-tabs>details>div,
  .asp[data-role="owner"]>.asp-tabs>details>div{position:absolute!important;z-index:95;top:calc(100% + 7px)!important;right:0!important;display:grid!important;width:230px!important;min-width:230px!important;padding:8px!important;background:#fff!important;box-shadow:0 16px 38px rgba(65,13,33,.22)!important}
  .asp[data-role="teacher"]>.asp-tabs>details:not([open])>div,
  .asp[data-role="owner"]>.asp-tabs>details:not([open])>div{display:none!important}
  .asp[data-role="teacher"]>.asp-header,.asp[data-role="teacher"]>.asp-panel,.asp[data-role="teacher"]>.asp-developer-credit,
  .asp[data-role="owner"]>.asp-header,.asp[data-role="owner"]>.asp-panel,.asp[data-role="owner"]>.asp-developer-credit,
  .asp[data-role="student"]>.asp-header,.asp[data-role="student"]>.asp-panel,.asp[data-role="student"]>.asp-developer-credit{margin-right:0!important}
}
@media(min-width:761px){.asp-control-filters{grid-template-columns:180px 180px minmax(180px,1fr) minmax(220px,1.25fr) auto}}

/* 2.4.77 — safe control assignments, daily dashboard link, and final responsive navigation */
.asp-control-intro-actions{display:flex;align-items:center;gap:9px;margin-inline-start:auto}.asp-dashboard-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border-radius:12px;background:#f2e3e9;color:#721631;text-decoration:none;font-weight:900}.asp-dashboard-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(101,21,50,.14)}.asp-summary-print-tools .asp-dashboard-link{background:#fff;color:#741633;border:1px solid #d9bec8}.asp-control-assignments{margin:14px 0}.asp-control-assignments>header h3,.asp-control-assignments>header p{margin:4px 0}.asp-control-assignment-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(220px,1fr) auto minmax(170px,.8fr);align-items:center;gap:9px;margin-top:9px;padding:11px;border:1px solid #ead7de;border-radius:15px;background:#fff}.asp-control-assignment-row strong{color:#701630}.asp-control-assignment-row select{margin:0}.asp-control-assignment-row button{margin:0}.asp-control-assignment-row small{color:#75686d}
.asp-dashboard-share{margin-top:18px}.asp-dashboard-share>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.asp-dashboard-share h3,.asp-dashboard-share header p{margin:3px 0}.asp-dashboard-share-url{width:100%;margin:12px 0;padding:12px;border:1px solid #d8c2cb;border-radius:12px;direction:ltr;text-align:left}.asp-dashboard-security{display:grid;gap:5px;padding:14px;border-radius:15px;background:#e3f6ec;color:#08633a}.asp-dashboard-security span{line-height:1.7}.asp-dashboard-share h4{margin:18px 0 3px;color:#6f1732}.asp-dashboard-view-log{width:100%;overflow:auto}.asp-dashboard-view-log table{width:100%;border-collapse:separate;border-spacing:0 6px}.asp-dashboard-view-log th{padding:9px;background:#721631;color:#fff}.asp-dashboard-view-log td{padding:9px;background:#faf5f7;border-top:1px solid #ead8df;border-bottom:1px solid #ead8df}.asp-empty-dashboard-views{padding:14px;border-radius:12px;background:#faf5f7;color:#75686d;text-align:center}
.asp-dashboard-period-setting{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;margin:0 0 12px;padding:13px;border:1px solid #ead8df;border-radius:15px;background:#fff8fa}.asp-dashboard-period-setting label{display:grid;gap:6px;font-weight:900;color:#6f1732}.asp-dashboard-period-setting select{width:100%;min-height:46px;padding:8px 11px;border:1px solid #d8c2cb;border-radius:11px;background:#fff;font:inherit}.asp-dashboard-period-setting button{min-height:46px}.asp-dashboard-period-setting .asp-message{grid-column:1/-1;margin:0;color:#08703e;font-weight:800}.asp-dashboard-period-setting>small{grid-column:1/-1;color:#75686d}
@media(min-width:851px){
 .asp[data-role="teacher"]>.asp-tabs,.asp[data-role="owner"]>.asp-tabs,.asp[data-role="student"]>.asp-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:7px!important;top:0!important;margin:0 0 14px!important;overflow:visible!important}
 .asp[data-role="teacher"]>.asp-tabs>button,.asp[data-role="owner"]>.asp-tabs>button,.asp[data-role="student"]>.asp-tabs>button,.asp[data-role="teacher"]>.asp-tabs>details,.asp[data-role="owner"]>.asp-tabs>details{width:100%!important;min-width:0!important;max-width:none!important}
 .asp[data-role="teacher"]>.asp-tabs>button,.asp[data-role="owner"]>.asp-tabs>button,.asp[data-role="student"]>.asp-tabs>button,.asp[data-role="teacher"]>.asp-tabs>details>summary,.asp[data-role="owner"]>.asp-tabs>details>summary{min-height:44px!important;padding:8px 7px!important;font-size:12.5px!important}
}
@media(max-width:760px){.asp-dashboard-share>header{align-items:stretch;flex-direction:column}.asp-dashboard-share>header button{width:100%}.asp-dashboard-period-setting{grid-template-columns:1fr}.asp-dashboard-period-setting button{width:100%}.asp-control-intro-actions{width:100%;display:grid;grid-template-columns:1fr}.asp-control-intro-actions>*{width:100%!important;margin:0!important}.asp-control-assignment-row{grid-template-columns:1fr}.asp-control-assignment-row button{width:100%}.asp-dashboard-link{width:100%}.asp-summary-print-tools .asp-dashboard-link{order:-1}}
@media(max-width:700px){
 #palestinian-portal .asp-control-table{display:block;min-width:0;border-spacing:0}
 #palestinian-portal .asp-control-table thead{display:none}
 #palestinian-portal .asp-control-table tbody{display:grid;gap:11px}
 #palestinian-portal .asp-control-table tr{display:grid;padding:12px;border:1px solid #ead8df;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(75,18,40,.06)}
 #palestinian-portal .asp-control-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:9px;width:100%;padding:8px 3px!important;border:0!important;border-bottom:1px dashed #ead8df!important;border-radius:0!important;background:transparent!important;overflow-wrap:anywhere}
 #palestinian-portal .asp-control-table td:last-child{border-bottom:0!important}
 #palestinian-portal .asp-control-table td:before{color:#7b1734;font-weight:900}
 #palestinian-portal .asp-control-table td:nth-child(1):before{content:"اليوم"}#palestinian-portal .asp-control-table td:nth-child(2):before{content:"التاريخ"}#palestinian-portal .asp-control-table td:nth-child(3):before{content:"الفترة"}#palestinian-portal .asp-control-table td:nth-child(4):before{content:"الصف"}#palestinian-portal .asp-control-table td:nth-child(5):before{content:"المادة"}#palestinian-portal .asp-control-table td:nth-child(6):before{content:"الحالة"}#palestinian-portal .asp-control-table td:nth-child(7):before{content:"آخر تعديل"}
 #palestinian-portal .asp-control-status,#palestinian-portal .asp-control-select{width:100%;min-width:0}
}

/* 2.4.78 — restore the desktop sidebar and keep every portal screen centered */
body:has(#palestinian-portal){overflow-x:hidden}
#palestinian-portal.asp{
  width:100%;
  max-width:min(1760px,100%);
  min-width:0;
  margin:16px auto;
  padding:0 12px;
  overflow-x:clip;
  box-sizing:border-box;
}
#palestinian-portal.asp>.asp-header,
#palestinian-portal.asp>.asp-panel,
#palestinian-portal.asp>.asp-developer-credit{min-width:0;box-sizing:border-box}
#palestinian-portal .asp-panel>*{max-width:100%;box-sizing:border-box}
#palestinian-portal .asp-panel>.asp-card,
#palestinian-portal .asp-panel>.asp-grid,
#palestinian-portal .asp-panel>[class$="-intro"],
#palestinian-portal .asp-panel>[class$="-filters"]{margin-inline:auto}
#palestinian-portal .asp-table-wrap{max-width:100%;margin-inline:auto}

@media(min-width:851px){
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs{
    position:fixed!important;
    z-index:900!important;
    top:96px!important;
    right:max(14px,calc((100vw - 1760px)/2 + 14px))!important;
    bottom:18px!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:3px!important;
    width:238px!important;
    max-width:238px!important;
    max-height:calc(100vh - 114px)!important;
    margin:0!important;
    padding:11px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border:1px solid #e5d4db!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 18px 48px rgba(74,16,39,.14)!important;
    backdrop-filter:blur(14px);
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>.asp-sidebar-brand,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>.asp-sidebar-brand,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs>.asp-sidebar-brand{
    display:flex!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 6px!important;
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>button,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>button,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs>button,
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>details,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>details{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:2px 0!important;
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>button,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>button,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs>button,
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>details>summary,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>details>summary{
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    padding:9px 10px!important;
    font-size:13px!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    text-align:center!important;
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>details,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>details{position:static!important}
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>details>div,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>details>div{
    position:static!important;
    z-index:auto!important;
    top:auto!important;
    right:auto!important;
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    margin:5px 0 2px!important;
    padding:6px!important;
    box-shadow:none!important;
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs>details:not([open])>div,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs>details:not([open])>div{display:none!important}
  #palestinian-portal.asp[data-role="teacher"]>.asp-header,
  #palestinian-portal.asp[data-role="teacher"]>.asp-panel,
  #palestinian-portal.asp[data-role="teacher"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="owner"]>.asp-header,
  #palestinian-portal.asp[data-role="owner"]>.asp-panel,
  #palestinian-portal.asp[data-role="owner"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="student"]>.asp-header,
  #palestinian-portal.asp[data-role="student"]>.asp-panel,
  #palestinian-portal.asp[data-role="student"]>.asp-developer-credit{
    width:calc(100% - 258px)!important;
    max-width:calc(100% - 258px)!important;
    margin-right:258px!important;
    margin-left:0!important;
  }
  #palestinian-portal.asp>.asp-panel{padding-inline:clamp(10px,1.35vw,24px)}
  #palestinian-portal.asp>.asp-panel.active{margin-top:0!important;margin-bottom:0!important}
}

@media(max-width:1050px) and (min-width:851px){
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs{width:218px!important;max-width:218px!important;right:10px!important}
  #palestinian-portal.asp[data-role="teacher"]>.asp-header,
  #palestinian-portal.asp[data-role="teacher"]>.asp-panel,
  #palestinian-portal.asp[data-role="teacher"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="owner"]>.asp-header,
  #palestinian-portal.asp[data-role="owner"]>.asp-panel,
  #palestinian-portal.asp[data-role="owner"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="student"]>.asp-header,
  #palestinian-portal.asp[data-role="student"]>.asp-panel,
  #palestinian-portal.asp[data-role="student"]>.asp-developer-credit{width:calc(100% - 234px)!important;max-width:calc(100% - 234px)!important;margin-right:234px!important}
}

@media(min-width:851px){
  #palestinian-portal[data-role="teacher"]>.ps-theme-switcher,
  #palestinian-portal[data-role="owner"]>.ps-theme-switcher,
  #palestinian-portal[data-role="student"]>.ps-theme-switcher{
    width:calc(100% - 270px)!important;
    max-width:calc(100% - 270px)!important;
    margin-right:270px!important;
    margin-left:0!important;
  }
}

/* Palestinian School — three selectable visual themes */
#palestinian-portal{
  --ps-red:#ce1126;
  --ps-green:#007a3d;
  --ps-black:#111;
  --ps-cream:#fffaf4;
  transition:background .25s ease,color .25s ease;
}
#palestinian-portal[data-theme="maroon"]{--q:#7b1734;--qd:#541024;--line:#eadde1;--muted:#786d72}
#palestinian-portal[data-theme="flag"]{--q:#007a3d;--qd:#111;--line:#d9e4dc;--muted:#5c6860}
#palestinian-portal[data-theme="heritage"]{--q:#98243c;--qd:#2e241f;--line:#dfcfbf;--muted:#75675d}
#palestinian-portal[data-theme="flag"]:before,
#palestinian-portal[data-theme="heritage"]:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
}
#palestinian-portal[data-theme="flag"]:before{
  background:linear-gradient(180deg,rgba(0,0,0,.035) 0 33.33%,rgba(255,255,255,.75) 33.33% 66.66%,rgba(0,122,61,.06) 66.66%),linear-gradient(135deg,rgba(206,17,38,.07),transparent 36%);
}
#palestinian-portal[data-theme="heritage"]:before{
  opacity:.5;
  background-color:#fffaf4;
  background-image:linear-gradient(45deg,rgba(152,36,60,.055) 25%,transparent 25%),linear-gradient(-45deg,rgba(152,36,60,.055) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,122,61,.045) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,122,61,.045) 75%);
  background-size:38px 38px;
  background-position:0 0,0 19px,19px -19px,-19px 0;
}
.ps-theme-switcher{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:min(760px,calc(100% - 24px));
  margin:10px auto 18px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 30px rgba(70,20,35,.08);
}
.ps-theme-switcher>b{color:var(--qd);white-space:nowrap}
.ps-theme-switcher>button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:43px;
  padding:8px 14px;
  border:1px solid var(--line)!important;
  border-radius:15px!important;
  background:#fff!important;
  color:var(--qd)!important;
  box-shadow:none!important;
}
.ps-theme-switcher>button.active{background:var(--q)!important;color:#fff!important;border-color:var(--q)!important}
.ps-theme-switcher>button[data-ps-theme="flag"]>span{font-size:19px}
.ps-theme-switcher>button[data-ps-theme="heritage"]>span{color:#ce1126;font-size:22px}
.asp-brand img{width:min(420px,88%);max-height:170px;object-fit:contain}
.ps-school-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:min(820px,100%);
  margin:24px auto 0;
}
.ps-school-cards>button:not(.asp-back-to-login){
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:175px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#fff8fa);
  color:var(--qd);
  box-shadow:0 13px 32px rgba(84,16,36,.11);
  font-size:34px;
}
.ps-school-cards>button:not(.asp-back-to-login):hover{transform:translateY(-4px);border-color:var(--q)}
.ps-school-cards b{font-size:19px}
.ps-school-cards small{color:var(--muted);font-size:12px}
.ps-school-cards>.asp-back-to-login{grid-column:1/-1;justify-self:center;background:#f4eaed!important;color:var(--q)!important}
#palestinian-portal[data-theme="flag"] .asp-login,
#palestinian-portal[data-theme="flag"] .asp-special-welcome{background:linear-gradient(135deg,rgba(0,0,0,.93),rgba(0,122,61,.92));color:#fff}
#palestinian-portal[data-theme="flag"] .asp-special-welcome h2,
#palestinian-portal[data-theme="flag"] .asp-special-welcome p{color:#fff}
#palestinian-portal[data-theme="heritage"] .asp-login{background-color:#fffaf4;background-image:radial-gradient(rgba(152,36,60,.09) 1.5px,transparent 1.5px);background-size:20px 20px}

@media(max-width:700px){
  .ps-theme-switcher{display:grid;grid-template-columns:1fr 1fr;margin-top:7px}
  .ps-theme-switcher>b{grid-column:1/-1;text-align:center}
  .ps-theme-switcher>button:last-child{grid-column:1/-1}
  .ps-school-cards{grid-template-columns:1fr!important}
  .ps-school-cards>button:not(.asp-back-to-login){min-height:125px}
}

/* 2.4.86 — card-first summary navigation */
.asp-summary-option-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:13px;
  margin:18px 0;
}
.asp-summary-option-cards>button,
.asp-summary-option-cards>a{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:3px 12px;
  min-height:112px;
  padding:16px;
  border:1px solid #ead4dc;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#fdf6f8);
  color:#68132f;
  box-shadow:0 10px 28px rgba(86,18,44,.08);
  text-align:right;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.asp-summary-option-cards>button:hover,
.asp-summary-option-cards>a:hover{
  transform:translateY(-3px);
  border-color:#c58a9e;
  box-shadow:0 14px 34px rgba(86,18,44,.14);
}
.asp-summary-option-cards>button>span,
.asp-summary-option-cards>a>span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:17px;
  background:#f4dfe7;
  font-size:25px;
}
.asp-summary-option-cards>button>b,
.asp-summary-option-cards>a>b{font-size:17px;line-height:1.35}
.asp-summary-option-cards>button>small,
.asp-summary-option-cards>a>small{color:#77686e;line-height:1.5}
.asp-summary-option-cards>button.active{
  border-color:#86183c;
  background:linear-gradient(135deg,#761431,#a72852);
  color:#fff;
  box-shadow:0 15px 34px rgba(112,17,48,.22);
}
.asp-summary-option-cards>button.active>span{background:rgba(255,255,255,.16)}
.asp-summary-option-cards>button.active>small{color:rgba(255,255,255,.82)}
.asp-summary-selection-hint{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:105px;
  margin:14px 0;
  padding:22px;
  border:2px dashed #d9bdc7;
  border-radius:22px;
  background:#fffafb;
  color:#731733;
  text-align:center;
}
.asp-summary-selection-hint>span{font-size:26px}
#management-summary>.asp-summary-intro{width:100%;max-width:100%}
#management-summary>.asp-summary-intro>div:first-of-type{flex:1 1 auto;min-width:0}
#management-summary .asp-summary-print-tools[hidden],
#management-summary #asp-management-summary[hidden],
#management-summary #asp-management-control-summary[hidden],
#management-summary .asp-dashboard-share[hidden],
#management-summary .asp-summary-selection-hint[hidden]{display:none!important}

@media(max-width:720px){
  .asp-summary-option-cards{grid-template-columns:1fr 1fr;gap:9px}
  .asp-summary-option-cards>button,.asp-summary-option-cards>a{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    justify-items:center;
    min-height:150px;
    padding:13px 10px;
    text-align:center;
  }
  .asp-summary-option-cards>button>span,.asp-summary-option-cards>a>span{grid-row:auto;width:48px;height:48px}
  .asp-summary-option-cards>button>b,.asp-summary-option-cards>a>b{font-size:15px}
  .asp-summary-option-cards>button>small,.asp-summary-option-cards>a>small{font-size:11px}
}
@media(max-width:430px){.asp-summary-option-cards{grid-template-columns:1fr}}

@media(max-width:850px){
  body:has(#palestinian-portal){overflow-x:hidden}
  #palestinian-portal.asp{width:100%;max-width:100%;margin:0 auto;padding:0;overflow-x:hidden}
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:min(82vw,290px)!important;
    max-width:290px!important;
    max-height:100dvh!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-header,
  #palestinian-portal.asp[data-role="teacher"]>.asp-panel,
  #palestinian-portal.asp[data-role="teacher"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="owner"]>.asp-header,
  #palestinian-portal.asp[data-role="owner"]>.asp-panel,
  #palestinian-portal.asp[data-role="owner"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="student"]>.asp-header,
  #palestinian-portal.asp[data-role="student"]>.asp-panel,
  #palestinian-portal.asp[data-role="student"]>.asp-developer-credit{
    width:100%!important;
    max-width:100%!important;
    margin-right:0!important;
    margin-left:0!important;
  }
  #palestinian-portal.asp>.asp-panel{padding-inline:10px!important}
  #palestinian-portal .asp-panel>*{min-width:0;max-width:100%}
}

/* 2.4.79 — pin the desktop menu to the far-right edge without covering content */
@media(min-width:851px){
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs{
    right:8px!important;
    width:238px!important;
    max-width:238px!important;
    box-sizing:border-box!important;
  }
  #palestinian-portal.asp[data-role="teacher"]>.asp-header,
  #palestinian-portal.asp[data-role="teacher"]>.asp-panel,
  #palestinian-portal.asp[data-role="teacher"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="owner"]>.asp-header,
  #palestinian-portal.asp[data-role="owner"]>.asp-panel,
  #palestinian-portal.asp[data-role="owner"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="student"]>.asp-header,
  #palestinian-portal.asp[data-role="student"]>.asp-panel,
  #palestinian-portal.asp[data-role="student"]>.asp-developer-credit{
    width:calc(100% - 270px)!important;
    max-width:calc(100% - 270px)!important;
    margin-right:270px!important;
    margin-left:0!important;
  }
  #palestinian-portal.asp>.asp-panel>.asp-grid,
  #palestinian-portal.asp>.asp-panel>.asp-special-welcome,
  #palestinian-portal.asp>.asp-panel>.asp-card,
  #palestinian-portal.asp>.asp-panel>[class$="-intro"]{
    width:100%!important;
    max-width:100%!important;
  }
}

@media(max-width:1050px) and (min-width:851px){
  #palestinian-portal.asp[data-role="teacher"]>.asp-tabs,
  #palestinian-portal.asp[data-role="owner"]>.asp-tabs,
  #palestinian-portal.asp[data-role="student"]>.asp-tabs{right:6px!important;width:214px!important;max-width:214px!important}
  #palestinian-portal.asp[data-role="teacher"]>.asp-header,
  #palestinian-portal.asp[data-role="teacher"]>.asp-panel,
  #palestinian-portal.asp[data-role="teacher"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="owner"]>.asp-header,
  #palestinian-portal.asp[data-role="owner"]>.asp-panel,
  #palestinian-portal.asp[data-role="owner"]>.asp-developer-credit,
  #palestinian-portal.asp[data-role="student"]>.asp-header,
  #palestinian-portal.asp[data-role="student"]>.asp-panel,
  #palestinian-portal.asp[data-role="student"]>.asp-developer-credit{width:calc(100% - 240px)!important;max-width:calc(100% - 240px)!important;margin-right:240px!important}
}

/* ===== v1.2.0: ثيمات إضافية للبوابة (الزيتون، الكوفية، القدس) + هوية كل مدرسة ===== */
#palestinian-portal[data-theme="olive"]{--q:#4b5d2a;--qd:#2a3416;--line:#dcdcc6;--muted:#6b6f5a}
#palestinian-portal[data-theme="kuffiyeh"]{--q:#1a1a1a;--qd:#000;--line:#dcdcdc;--muted:#666}
#palestinian-portal[data-theme="jerusalem"]{--q:#12355b;--qd:#0a2240;--line:#d6dee9;--muted:#5d6b7c}
#palestinian-portal[data-theme="olive"] .asp-login{background-color:#fbfbf3;background-image:radial-gradient(rgba(75,93,42,.10) 1.5px,transparent 1.5px);background-size:22px 22px}
#palestinian-portal[data-theme="kuffiyeh"] .asp-login{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M0 0l28 28M28 0L0 28' stroke='%23000' stroke-opacity='.07' stroke-width='2'/%3E%3C/svg%3E")}
#palestinian-portal[data-theme="jerusalem"] .asp-login{background-color:#f7f9fc;background-image:radial-gradient(circle at 15% 10%,rgba(184,134,43,.16),transparent 30%)}
#palestinian-portal[data-theme="olive"] .asp-special-welcome{background:linear-gradient(135deg,#2a3416,#566b2e);color:#fff}
#palestinian-portal[data-theme="kuffiyeh"] .asp-special-welcome{background:linear-gradient(135deg,#000,#333);color:#fff}
#palestinian-portal[data-theme="jerusalem"] .asp-special-welcome{background:linear-gradient(135deg,#0a2240,#12355b);color:#fff}
#palestinian-portal[data-theme="olive"] .asp-special-welcome p,#palestinian-portal[data-theme="kuffiyeh"] .asp-special-welcome p,#palestinian-portal[data-theme="jerusalem"] .asp-special-welcome p{color:#fff}
.ps-theme-switcher>button[data-ps-theme="olive"]>span{color:#566b2e;font-size:20px}
.ps-theme-switcher>button[data-ps-theme="kuffiyeh"]>span{color:#111;font-size:20px}
.ps-theme-switcher>button[data-ps-theme="jerusalem"]>span{color:#b8862b;font-size:20px}
/* هوية بصرية لكل مدرسة في بطاقات دخول الكادر */
.ps-school-cards button[data-staff-school]{position:relative;overflow:hidden;border-top:6px solid var(--sc,var(--q))!important}
.ps-school-cards button[data-staff-school="second"]{--sc:#0b6b3f}
.ps-school-cards button[data-staff-school="first"]{--sc:#9b2043}
.ps-school-cards button[data-staff-school="home"]{--sc:#b8862b}
.ps-school-cards button[data-staff-school] b{color:var(--sc)!important}
.ps-school-cards button[data-staff-school]:hover{box-shadow:0 14px 34px color-mix(in srgb,var(--sc) 30%,transparent)!important}

/* ===== v1.2.1: زر العودة للموقع + زخارف الزيتون داخل البوابات ===== */
#palestinian-portal{position:relative}
.ps-back-site{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:10px 18px;border-radius:14px;background:#fff;color:var(--q);border:1px solid var(--line);font-weight:800;text-decoration:none;box-shadow:0 8px 22px #17231f14;transition:.2s}
.ps-back-site:hover{background:var(--q);color:#fff;transform:translateY(-2px)}
#palestinian-portal .asp-login{position:relative;overflow:hidden}
#palestinian-portal .asp-login:before,#palestinian-portal .asp-login:after{content:"";position:absolute;width:300px;height:158px;background:url(olive-branch.svg) no-repeat center/contain;opacity:.22;pointer-events:none}
#palestinian-portal .asp-login:before{top:0;left:0;transform:scaleX(-1)}
#palestinian-portal .asp-login:after{bottom:0;right:0;transform:scaleY(-1)}
#palestinian-portal .asp-login>*{position:relative;z-index:1}
#palestinian-portal .asp-header{position:relative;overflow:hidden}
#palestinian-portal .asp-header:after{content:"";position:absolute;left:0;top:0;bottom:0;width:190px;background:url(olive-branch.svg) no-repeat left center/contain;opacity:.16;pointer-events:none}
#palestinian-portal .asp-header>*{position:relative;z-index:1}
@media(max-width:650px){#palestinian-portal .asp-login:before,#palestinian-portal .asp-login:after{width:190px;height:100px}}

/* ===== v1.3.0: الثيمات على الجهة اليسرى بشكل احترافي + بطاقة التسجيل + المسجد الأقصى ===== */
#palestinian-portal .ps-theme-switcher{position:fixed!important;left:14px!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;z-index:99999;display:flex!important;flex-direction:column!important;align-items:center;gap:9px!important;width:auto!important;margin:0!important;padding:12px 8px!important;background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line)!important;border-radius:26px!important;box-shadow:0 14px 40px #17231f2b!important}
#palestinian-portal .ps-theme-switcher>b{display:block!important;grid-column:auto!important;font-size:20px!important;line-height:1;padding-bottom:7px;border-bottom:1px solid var(--line);width:100%;text-align:center}
#palestinian-portal .ps-theme-switcher>button{position:relative;width:40px!important;height:40px!important;min-height:0!important;padding:0!important;border-radius:50%!important;font-size:0!important;background:#fff!important;color:var(--q)!important;border:2px solid var(--line)!important;display:grid!important;place-items:center;box-shadow:none!important;transition:transform .2s}
#palestinian-portal .ps-theme-switcher>button>span{font-size:19px!important;line-height:1}
#palestinian-portal .ps-theme-switcher>button:hover{transform:scale(1.13)!important}
#palestinian-portal .ps-theme-switcher>button.active{background:#fff!important;border-color:var(--q)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--q) 25%,transparent)!important}
#palestinian-portal .ps-theme-switcher>button:after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-6px);background:#17231f;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;padding:6px 11px;border-radius:9px;opacity:0;pointer-events:none;transition:.18s}
#palestinian-portal .ps-theme-switcher>button:hover:after,#palestinian-portal .ps-theme-switcher>button:focus-visible:after{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:650px){#palestinian-portal .ps-theme-switcher{top:auto!important;bottom:12px!important;left:10px!important;transform:none!important;flex-direction:row!important;padding:7px 10px!important;border-radius:999px!important;gap:4px!important}#palestinian-portal .ps-theme-switcher>b{border:0;padding:0 4px 0 0;width:auto}#palestinian-portal .ps-theme-switcher>button{width:34px!important;height:34px!important}#palestinian-portal .ps-theme-switcher>button:after{display:none}}
/* بطاقة بوابة التسجيل في صفحة الدخول */
.asp-login-choices{grid-template-columns:repeat(3,1fr)!important}
.asp-login-choices a.asp-login-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:155px;background:linear-gradient(145deg,#c59434,#8a6200);color:#fff;border-radius:13px;box-shadow:0 10px 28px #54102422;font-size:30px;text-decoration:none;transition:.22s;padding:12px}
.asp-login-choices a.asp-login-link b{font-size:18px}.asp-login-choices a.asp-login-link small{font-size:12px;color:#fff3d6}
.asp-login-choices a.asp-login-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px #54102430}
@media(max-width:700px){.asp-login-choices{grid-template-columns:1fr!important}}
/* المسجد الأقصى أعلى صفحة الدخول */
#palestinian-portal .asp-brand:before{content:"";display:block;width:230px;height:130px;margin:0 auto 6px;background:url(al-aqsa.svg) no-repeat center/contain;filter:drop-shadow(0 8px 14px #0003)}
