/*
 * Parent Portal Central Design System
 * Version: 1.7.2
 *
 * IMPORTANT:
 * This file is the exclusive owner of Parent Portal typography:
 * font-family, font-size, font-weight and line-height.
 * Module CSS files must not redefine those properties.
 */

/*
 * Local Parent Portal fonts
 * Bundled WOFF2 — no external font request.
 */
@font-face{
  font-family:"IBM Plex Sans Arabic";
  src:url("../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Sans Arabic";
  src:url("../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Sans Arabic";
  src:url("../fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Sans Arabic";
  src:url("../fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

:root{
  --pp-font-family:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",Arial,sans-serif;
  --pp-font-display:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",Arial,sans-serif;

  --pp-font-meta:12px;
  --pp-font-body:13px;
  --pp-font-content:14px;
  --pp-font-subtitle:12px;
  --pp-font-subheading:16px;
  --pp-font-module-title:19px;
  --pp-font-page-title:23px;
  --pp-font-stat:24px;

  --pp-weight-regular:400;
  --pp-weight-medium:600;
  --pp-weight-bold:700;
  --pp-weight-heavy:800;

  --pp-line-tight:1.35;
  --pp-line-title:1.45;
  --pp-line-body:1.75;

  --pp-radius-sm:10px;
  --pp-radius-md:14px;
  --pp-radius-lg:22px;
  --pp-surface:#fff;
  --pp-text:#252a27;
  --pp-muted:#6f746f;
  --pp-border:#d9ddd9;
  --pp-shadow:0 12px 30px rgba(32,42,36,.08);
}

/* ---------------------------------------------------------
   1. Real Parent Portal roots — single font source
   --------------------------------------------------------- */
.parent-portal-header,
.sas-p-shell,
.sas-br-shell,
.parent-grades,
.parent-hamnavard,
.sas-parent-weekly-plan{
  font-family:var(--pp-font-family);
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}

/* Prevent WordPress theme heading/small/control typography leaking in. */
.parent-portal-header h1,
.parent-portal-header h2,
.parent-portal-header h3,
.parent-portal-header h4,
.sas-p-shell h1,.sas-p-shell h2,.sas-p-shell h3,.sas-p-shell h4,
.sas-br-shell h1,.sas-br-shell h2,.sas-br-shell h3,.sas-br-shell h4,
.parent-grades h1,.parent-grades h2,.parent-grades h3,.parent-grades h4,
.parent-hamnavard h1,.parent-hamnavard h2,.parent-hamnavard h3,.parent-hamnavard h4,
.sas-parent-weekly-plan h1,.sas-parent-weekly-plan h2,.sas-parent-weekly-plan h3,.sas-parent-weekly-plan h4{
  font-family:inherit;
  line-height:var(--pp-line-title);
}

.parent-portal-header small,
.sas-p-shell small,
.sas-br-shell small,
.parent-grades small,
.parent-hamnavard small,
.sas-parent-weekly-plan small{
  font-family:inherit;
  font-size:var(--pp-font-meta);
  line-height:var(--pp-line-body);
}

/* ---------------------------------------------------------
   2. Standard title hierarchy
   --------------------------------------------------------- */
.pp-page-title{
  font-family:var(--pp-font-display);
  font-size:var(--pp-font-page-title);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-title);
}

.pp-module-title{
  font-family:var(--pp-font-display);
  font-size:var(--pp-font-module-title);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-title);
}

.pp-subaccordion-title{
  font-family:inherit;
  font-size:var(--pp-font-subheading);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-title);
}

.pp-module-subtitle{
  font-family:inherit;
  font-size:var(--pp-font-subtitle);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}

/* ---------------------------------------------------------
   3. Shared main accordion
   --------------------------------------------------------- */
.pp-module-accordion{
  background:var(--pp-surface);
  border:1px solid var(--pp-module-line,var(--pp-border));
  border-radius:var(--pp-radius-lg);
  overflow:hidden;
  box-shadow:var(--pp-shadow);
}
.pp-module-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(180deg,var(--pp-module-soft,#f5f5f3),#fff);
  font-family:inherit;
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.pp-module-summary::-webkit-details-marker{display:none}
.pp-module-chevron{
  font-family:inherit;
  font-size:24px;
  font-weight:var(--pp-weight-regular);
  line-height:1;
  color:var(--pp-module-accent,#9a7629);
  transition:transform .2s ease;
}
.pp-module-accordion[open]>.pp-module-summary .pp-module-chevron{transform:rotate(90deg)}
.pp-module-body{
  padding:18px 20px 20px;
  border-top:1px solid var(--pp-module-line,var(--pp-border));
}

/* ---------------------------------------------------------
   4. Secondary accordions (Behavior)
   --------------------------------------------------------- */
.pp-subaccordion-summary{
  font-family:inherit;
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.sas-br-summary-title strong{
  font-size:var(--pp-font-subheading);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-title);
}
.sas-br-summary-title small{
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}

/* ---------------------------------------------------------
   5. Tables — one typography standard
   --------------------------------------------------------- */
.pp-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:var(--pp-radius-md);
}
.parent-portal-header table,
.sas-p-shell table,
.sas-br-shell table,
.parent-grades table,
.parent-hamnavard table,
.sas-parent-weekly-plan table{
  font-family:inherit;
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.sas-p-shell th,.sas-p-shell td,
.sas-br-shell th,.sas-br-shell td,
.parent-grades th,.parent-grades td,
.parent-hamnavard th,.parent-hamnavard td,
.sas-parent-weekly-plan th,.sas-parent-weekly-plan td{
  font-family:inherit;
  font-size:var(--pp-font-body);
  line-height:var(--pp-line-body);
}
.sas-p-shell th,
.sas-br-shell th,
.parent-grades th,
.parent-hamnavard th,
.sas-parent-weekly-plan th{
  font-weight:var(--pp-weight-bold);
}
.sas-p-shell td,
.sas-br-shell td,
.parent-grades td,
.parent-hamnavard td,
.sas-parent-weekly-plan td{
  font-weight:var(--pp-weight-regular);
}

/* ---------------------------------------------------------
   6. Form controls / buttons
   --------------------------------------------------------- */
.parent-portal-header button,.parent-portal-header input,.parent-portal-header select,
.sas-p-shell button,.sas-p-shell input,.sas-p-shell select,.sas-p-shell textarea,
.sas-br-shell button,.sas-br-shell input,.sas-br-shell select,.sas-br-shell textarea,
.parent-grades button,.parent-grades input,.parent-grades select,
.parent-hamnavard button,.parent-hamnavard input,.parent-hamnavard select,
.sas-parent-weekly-plan button,.sas-parent-weekly-plan input,.sas-parent-weekly-plan select{
  font-family:inherit;
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}

/* ---------------------------------------------------------
   7. Badges / metadata / empty states / pagination
   --------------------------------------------------------- */
.pp-badge,
.sas-p-status,
.sas-br-badge,
.sas-br-behavior-kind,
.sas-br-followup,
.pg-badge,
.ph-badge,
.ph-topic,
.ph-page{
  font-family:inherit;
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-tight);
}

.pp-notice,
.pp-empty,
.sas-p-empty,
.sas-br-empty,
.pg-empty,
.pg-empty-static,
.ph-empty,
.ph-readonly,
.pwp-empty{
  font-family:inherit;
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}

.pp-pagination a,
.pp-pagination button{
  font-family:inherit;
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-tight);
}

/* ---------------------------------------------------------
   8. Module-specific text roles — still centralized
   --------------------------------------------------------- */

/* Header */
.pp-header-brand-title,
.pp-header-parent-name{
  font-family:var(--pp-font-family);
  font-size:var(--pp-font-content);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-title);
}
.parent-portal-header__brand small,
.parent-portal-header__parent small,
.parent-portal-header__meta{
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.parent-portal-header__copy>span{
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-medium);
  line-height:var(--pp-line-title);
}
.parent-portal-header__copy p{
  font-size:var(--pp-font-content);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.parent-portal-header__context{
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.parent-portal-header__context label{
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-medium);
  line-height:var(--pp-line-body);
}
.parent-portal-header__context select{
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.parent-portal-header__context>strong{
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-semibold);
  line-height:var(--pp-line-body);
}

/* Assignments */
.sas-p-shell strong{font-weight:var(--pp-weight-bold)}
.sas-p-muted{font-size:var(--pp-font-meta);font-weight:var(--pp-weight-regular);line-height:var(--pp-line-body)}

/* Behavior */
.sas-br-section-head h3{font-family:var(--pp-font-display);font-size:var(--pp-font-module-title);font-weight:var(--pp-weight-bold);line-height:var(--pp-line-title)}
.sas-br-section-head p{font-size:var(--pp-font-meta);font-weight:var(--pp-weight-regular);line-height:var(--pp-line-body)}
.sas-br-quick-stats,
.sas-br-toolbar,
.sas-br-filters,
.sas-br-parent-comment-preview,
.sas-br-behavior-category,
.sas-br-behavior-description,
.sas-br-behavior-suggestion,
.sas-br-muted{
  font-size:var(--pp-font-meta);
  line-height:var(--pp-line-body);
}
.sas-br-behavior-title{font-size:var(--pp-font-body);font-weight:var(--pp-weight-bold);line-height:var(--pp-line-title)}
.sas-br-flash{font-size:var(--pp-font-body);font-weight:var(--pp-weight-medium);line-height:var(--pp-line-body)}
.sas-br-stat-grid strong{font-size:var(--pp-font-stat);font-weight:var(--pp-weight-heavy);line-height:var(--pp-line-tight)}

/* Grades */
.pg-year,.pg-course,.pg-note{font-size:var(--pp-font-body);line-height:var(--pp-line-body)}
.pg-course{font-weight:var(--pp-weight-bold)}
.pg-note{font-weight:var(--pp-weight-regular)}

/* Hamnavard */
.ph-result-line,.ph-date,.ph-muted,.ph-followup-item{font-size:var(--pp-font-meta);line-height:var(--pp-line-body)}
.ph-report-text{font-size:var(--pp-font-content);font-weight:var(--pp-weight-regular);line-height:var(--pp-line-body)}

/* Weekly Plan */
.sas-parent-weekly-plan .pwp-cell strong,
.sas-parent-weekly-plan .pwp-history strong{
  font-size:var(--pp-font-body);
  font-weight:var(--pp-weight-bold);
  line-height:var(--pp-line-title);
}
.sas-parent-weekly-plan .pwp-cell span,
.sas-parent-weekly-plan .pwp-cell i,
.sas-parent-weekly-plan .pwp-cell p,
.sas-parent-weekly-plan .pwp-history i,
.sas-parent-weekly-plan .pwp-history small,
.sas-parent-weekly-plan .pwp-history p,
.sas-parent-weekly-plan .pwp-stat em{
  font-size:var(--pp-font-meta);
  font-weight:var(--pp-weight-regular);
  line-height:var(--pp-line-body);
}
.sas-parent-weekly-plan .pwp-stat strong{
  font-size:var(--pp-font-stat);
  font-weight:var(--pp-weight-heavy);
  line-height:var(--pp-line-tight);
}

/* ---------------------------------------------------------
   9. Focus accessibility
   --------------------------------------------------------- */
.pp-module-summary:focus-visible,
.pp-subaccordion-summary:focus-visible,
.parent-portal-header a:focus-visible,
.parent-portal-header button:focus-visible,
.sas-p-shell a:focus-visible,.sas-p-shell button:focus-visible,
.sas-br-shell a:focus-visible,.sas-br-shell button:focus-visible,
.parent-grades a:focus-visible,.parent-grades button:focus-visible,
.parent-hamnavard a:focus-visible,.parent-hamnavard button:focus-visible,
.sas-parent-weekly-plan a:focus-visible,.sas-parent-weekly-plan button:focus-visible{
  outline:2px solid var(--pp-module-accent,#9a7629);
  outline-offset:2px;
}

/* ---------------------------------------------------------
   10. Mobile — typography does not shrink below 12px
   --------------------------------------------------------- */
@media(max-width:680px){
  .pp-module-summary{padding:15px}
  .pp-module-body{padding:14px}

  .pp-page-title{font-size:var(--pp-font-page-title)}
  .pp-module-title{font-size:var(--pp-font-module-title)}
  .pp-subaccordion-title{font-size:var(--pp-font-subheading)}
}
