/* ===== Parent dashboard: progress monitor + AI planner ===== */
.pa-alerts { display: grid; gap: 12px; margin: 14px 0; }
.pa-alert { border-radius: 12px; padding: 14px 16px; border-left: 6px solid #ccc; background: #fafafa; line-height: 1.5; }
.pa-alert p { margin: 6px 0 0; }
.pa-high  { border-left-color: #e03131; background: #fff5f5; }
.pa-watch { border-left-color: #f59f00; background: #fff9db; }
.pa-good  { border-left-color: #2f9e44; background: #ebfbee; }
.pa-info  { border-left-color: #adb5bd; background: #f8f9fa; }
.pa-alert-head { font-size: 1.05rem; }
.pa-tag { font-size: .75rem; background: rgba(0,0,0,.08); padding: 2px 8px; border-radius: 999px; margin-left: 6px; }
.pa-action { font-size: .92rem; color: #444; }

.pa-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.pa-table th, .pa-table td { padding: 10px 8px; text-align: left; border-bottom: 1px solid #eee; font-size: .95rem; }
.pa-table th { background: #5a3fc0; color: #ffffff; font-weight: 700; }
.pa-table td { color: #222; }

.pa-keybox { background: #f6f4ff; border-radius: 12px; padding: 14px 16px; margin: 12px 0; }
.pa-note { font-size: .82rem; color: #666; margin-top: 8px; line-height: 1.5; }
.pa-ok   { color: #2f9e44; font-weight: bold; }
.pa-warn { color: #e03131; font-weight: bold; }

/* main.css makes every button white-on-gradient; override so these read clearly */
.pa-btn {
  background: #7b6cf6 !important; color: #fff !important; border: none;
  border-radius: 12px; padding: 11px 20px; font-weight: bold; font-family: inherit;
  cursor: pointer; margin: 0; box-shadow: none;
}
.pa-btn.pa-danger { background: #e03131 !important; }
.pa-btn.pa-go { background: linear-gradient(135deg,#7b6cf6,#4facfe) !important; font-size: 1.05rem; padding: 13px 26px; }

.pa-plan { background: #fff; border: 2px solid #e7e2ff; border-radius: 12px; padding: 16px; }
.pa-plantext {
  white-space: pre-wrap; font-family: inherit; font-size: .95rem; line-height: 1.6;
  background: #fafafa; padding: 14px; border-radius: 10px; max-height: 460px; overflow: auto; color: #2b2b45;
}

/* ===== Weekly Planner: readable assignment cards ===== */
.pl-subjbar { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.pl-subj { padding: 9px 16px !important; font-size: .95rem; }
.pl-subj.on { box-shadow: 0 0 0 3px rgba(123,108,246,.4); }
.pl-week { width: 100%; padding: 11px 12px; border-radius: 10px; border: 2px solid #ddd;
           font-family: inherit; font-size: 1rem; margin: 6px 0 10px; background: #fff; }
.pl-topic { background: #f6f4ff; border-radius: 10px; padding: 10px 14px; margin-bottom: 6px; font-size: 1rem; }
.pl-edited { background: #fff9db; border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; font-size: .9rem; }
.pl-edited a { color: #7b6cf6; font-weight: bold; }

.pl-rows { display: grid; gap: 14px; margin-top: 8px; }
.pl-card { background: #fff; border: 2px solid #e7e2ff; border-radius: 14px;
           padding: 14px 16px; box-shadow: 0 2px 6px rgba(0,0,0,.04); }
.pl-card-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pl-num { background: #7b6cf6; color: #fff; font-weight: bold; width: 26px; height: 26px;
          border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }
.pl-card-label { font-weight: bold; color: #4a3f9e; letter-spacing: .02em; }
.pl-remove { margin-left: auto; background: #ffe6e6; color: #a12020; border: none;
             border-radius: 8px; padding: 5px 12px; font-weight: bold; font-family: inherit;
             font-size: .82rem; cursor: pointer; }
.pl-remove:hover { background: #ffd0d0; }

.pl-field { display: block; margin: 8px 0; }
.pl-flabel { display: block; font-size: .78rem; font-weight: bold; color: #666;
             text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.pl-title, .pl-desc { width: 100%; padding: 10px 12px; border: 2px solid #ddd;
                      border-radius: 10px; font-family: inherit; font-size: 1rem; color: #2b2b45; }
.pl-title { font-weight: bold; }
.pl-desc { line-height: 1.5; resize: vertical; min-height: 62px; }
.pl-title:focus, .pl-desc:focus { border-color: #7b6cf6; outline: none; }
.pl-stds { display: flex; gap: 6px; flex-wrap: wrap; }
.pl-stdpill { background: #e7e2ff; color: #4a3f9e; font-weight: bold; font-size: .82rem;
              padding: 3px 10px; border-radius: 999px; }
.pl-nostd { color: #999; font-style: italic; font-size: .88rem; }
.pl-draft summary { cursor: pointer; font-weight: bold; color: #7b6cf6; padding: 6px 0; }
