/* Parent Center: public reference pages and a quiet, practical family workspace. */
.parents { --parent-accent:#17627a; --parent-soft:#e8f1ef; }
.parents .parent-page { max-width:1200px; padding-top:2.5rem; padding-bottom:3rem; }
.parents h1 { font-family:Fraunces,Georgia,serif; font-weight:550; letter-spacing:-.035em; line-height:1.1; }
.parents h2,.parents h3,.parents h4 { line-height:1.3; }
.parents h2 { font-size:1.65rem; }
.parents h3 { font-size:1.2rem; }
.parent-hero { max-width:850px; margin:0 0 3rem; }
.parent-hero h1 { font-size:clamp(2.5rem,5.5vw,4.4rem); margin:.65rem 0 1.2rem; }
.parent-eyebrow { font-size:.76rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--parent-accent); }
.parent-lead { font-size:1.23rem; max-width:700px; line-height:1.7; }
.parent-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.parent-card { display:flex; flex-direction:column; padding:1.65rem; border:1px solid var(--line,#d7dfda); border-radius:16px; background:var(--paper,#fff); color:inherit; text-decoration:none; transition:border-color .15s,transform .15s; }
.parent-card:hover { transform:translateY(-2px); border-color:var(--parent-accent); }
.parent-card h2 { margin:.6rem 0; font-size:1.4rem; }
.parent-card p { margin:0 0 1.3rem; }
.parent-card .parent-arrow,.parent-card>span:last-child { margin-top:auto; color:var(--parent-accent); font-weight:600; }
.parent-section { margin:3rem 0; max-width:880px; }
.parent-section h2 { margin-top:2rem; }
.parent-section li { margin:.6rem 0; }
.parent-outline { padding:1rem 0; border-bottom:1px solid var(--line,#d7dfda); }
.parent-outline li span { display:block; font-size:.92rem; margin:.2rem 0 .6rem; color:var(--muted,#52635d); }
.parent-definitions dt { font-weight:700; margin-top:1.25rem; }
.parent-definitions dd { margin:.3rem 0 0; }
.parent-muted,.parent-privacy { color:var(--muted,#52635d); font-size:.88rem; }
.parent-privacy { border-top:1px solid var(--line,#d7dfda); padding-top:1.3rem; margin-top:2.5rem; max-width:900px; }
.parents button,.parents .btn { font:inherit; font-size:.88rem; font-weight:600; border:1px solid var(--line,#bdccc5); background:var(--paper,#fff); color:var(--ink,#16211f); border-radius:8px; padding:.6rem .9rem; cursor:pointer; line-height:1.4; text-decoration:none; }
.parents button:hover { border-color:var(--parent-accent); }
.parents .btn-p { background:var(--parent-accent); color:white; border-color:var(--parent-accent); }
.parents a { text-underline-offset:3px; }
.parents button:focus-visible,.parents input:focus-visible,.parents select:focus-visible,.parents textarea:focus-visible,.parents a:focus-visible,.parents summary:focus-visible { outline:3px solid #d99728; outline-offset:3px; }
.parents label { display:flex; flex-direction:column; gap:.35rem; font-size:.86rem; font-weight:600; min-width:0; }
.parents input:not([type=checkbox]):not([type=file]),.parents select,.parents textarea { box-sizing:border-box; width:100%; max-width:100%; min-width:0; font:inherit; font-weight:400; padding:.65rem .75rem; color:var(--ink,#16211f); background:var(--paper,#fff); border:1px solid var(--line,#bdccc5); border-radius:7px; line-height:1.45; }
.parents textarea { resize:vertical; }
.parents input[type=checkbox] { accent-color:var(--parent-accent); width:1.1rem; height:1.1rem; flex:none; }
.parent-workhead,.parent-sectionhead { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.parent-workhead { margin-bottom:1.5rem; align-items:flex-start; }
.parent-workhead h1 { font-size:3rem; margin:.2rem 0 .6rem; }
.parent-workhead p { margin:.4rem 0; }
.parent-tools,.parent-inline,.parent-weekbar { display:flex; gap:.7rem; align-items:center; flex-wrap:wrap; }
.parent-tools { font-size:.87rem; }
.parent-inline { margin:1rem 0; }
.parent-inline label { flex:1; min-width:220px; }
.parent-inline button { align-self:flex-end; }
.parent-family { display:flex; gap:.8rem; align-items:flex-end; flex-wrap:wrap; padding:1rem 1.2rem; border:1px solid var(--line,#d7dfda); background:var(--paper,#fff); border-radius:12px; }
.parent-family label { min-width:190px; }
#parent-save { font-size:.79rem; color:var(--muted,#52635d); margin-left:auto; padding:.7rem 0; }
.parent-tabs { display:flex; gap:.5rem; border-bottom:1px solid var(--line,#d7dfda); margin-top:1.6rem; }
.parent-tabs a { color:var(--muted,#52635d); padding:.85rem 1.1rem; text-decoration:none; font-size:.95rem; font-weight:600; border-bottom:3px solid transparent; }
.parent-tabs [aria-current=page] { color:var(--parent-accent); border-bottom-color:var(--parent-accent); }
.parent-message { font-size:.88rem; color:var(--parent-accent); min-height:1.3em; margin:.65rem 0; }
.parent-sectionhead { margin-bottom:1.2rem; }
.parent-sectionhead h2,.parent-sectionhead h3 { margin:0; }
.parent-sectionhead p { margin:.4rem 0 0; font-size:.9rem; color:var(--muted,#52635d); }
.parent-weekbar { padding:1rem 0; align-items:flex-end; }
.parent-weekbar span { font-size:.86rem; color:var(--muted,#52635d); padding:.7rem 0; }
.parent-goal { margin:1rem 0; }
.parent-source { background:var(--paper,#fff); border:1px solid var(--line,#d7dfda); padding:1.25rem; border-radius:12px; margin:1.5rem 0; }
.parents summary { cursor:pointer; font-weight:600; }
.parent-source-grid { display:grid; grid-template-columns:1fr 1.2fr auto; align-items:end; gap:.85rem; margin:1rem 0; }
.parent-source-notes { max-width:850px; font-size:.9rem; line-height:1.7; }
.parent-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:start; }
.parent-day { background:var(--parent-soft); border-radius:12px; padding:.95rem; min-height:180px; }
.parent-day h3 { margin:.15rem 0 1rem; font-weight:650; }
.parent-day h3 small { display:block; font-size:.76rem; font-weight:400; color:var(--muted,#52635d); margin-top:.2rem; }
.parent-task { background:var(--paper,#fff); border:1px solid var(--line,#d7dfda); padding:.95rem; border-radius:8px; margin-bottom:.8rem; box-shadow:0 2px 3px #16211f04; overflow-wrap:anywhere; }
.parent-check { flex-direction:row!important; align-items:flex-start; gap:.6rem!important; font-weight:600; line-height:1.5; }
.parent-check input { margin-top:.2rem; }
.parent-task p { font-size:.84rem; margin:.6rem 0; line-height:1.65; }
.parent-task p.parent-task-course { color:var(--parent-accent); font-size:.72rem; font-weight:600; }
.parent-task-note { padding:.6rem; border-left:2px solid #d99728; background:#e4bc4b12; }
.parent-task small { color:var(--muted,#52635d); font-size:.75rem; }
.parent-task-actions { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.8rem; font-size:.78rem; }
.parent-task-actions button { font-size:.75rem; padding:.3rem .55rem; }
.parent-task.is-done { opacity:.8; }
.parent-task.is-done .parent-check span { text-decoration:line-through; }
.parent-day-empty { font-size:.83rem; color:var(--muted,#52635d); }
.parent-day>button { font-size:.78rem; background:transparent; }
.parent-packet { background:var(--paper,#fff); border:1px solid var(--line,#d7dfda); border-radius:14px; padding:2rem; margin-top:1.5rem; max-width:950px; }
.parent-packet h2 { font-size:2rem; }
.parent-packet section { border-top:1px solid var(--line,#d7dfda); margin-top:1.8rem; padding-top:1rem; }
.parent-packet li { margin:.55rem 0; }
.parent-checkpoint,.parent-model { padding:1rem 1.3rem; border-left:3px solid var(--parent-accent); background:var(--parent-soft); margin:1rem 0; }
.parent-checkpoint h4,.parent-model h4 { margin:.2rem 0; }
.parent-checkpoint details { margin:.8rem 0; }
.parent-report-meta { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; align-items:end; }
.parent-course-report { margin:2rem 0; padding:1.5rem; background:var(--paper,#fff); border:1px solid var(--line,#d7dfda); border-radius:12px; }
.parent-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.parent-stat { display:flex; flex-direction:column; padding:1rem; background:var(--parent-soft); border-radius:9px; }
.parent-stat strong { font-size:1.7rem; line-height:1.4; font-variant-numeric:tabular-nums; }
.parent-stat span { font-size:.8rem; line-height:1.5; }
.parent-stat small { font-size:.72rem; line-height:1.5; color:var(--muted,#52635d); margin-top:.4rem; }
.parent-course-report details { margin-top:1.3rem; }
.parent-table-scroll { overflow:auto; margin:1rem 0; }
.parents table { width:100%; border-collapse:collapse; font-size:.83rem; line-height:1.6; }
.parents th { text-align:left; font-weight:600; }
.parents th,.parents td { padding:.75rem; border-bottom:1px solid var(--line,#d7dfda); vertical-align:top; min-width:100px; }
.parents td:first-child { min-width:180px; }
.parents td p { margin:.4rem 0; }
.parents td button { display:block; padding:.3rem .55rem; font-size:.75rem; margin-top:.5rem; }
.parent-status { font-weight:600; }
.parent-needs-review { background:#dfac3610; }
.parent-banner,.parent-attention { background:var(--parent-soft); border-left:3px solid var(--parent-accent); padding:1rem 1.2rem; font-size:.88rem; border-radius:0 8px 8px 0; }
.parent-attention { background:#dfac3612; border-color:#bd8b27; }
.parent-error { color:#a23030!important; font-weight:600; }
.parent-empty { max-width:720px; padding:2rem; background:var(--paper,#fff); border-radius:12px; margin:1rem 0; }
.parents dialog { color:var(--ink,#16211f); background:var(--paper,#fff); width:min(650px,calc(100vw - 2rem)); max-height:85vh; border:1px solid var(--line,#d7dfda); border-radius:16px; padding:1.5rem; box-sizing:border-box; }
.parents dialog::backdrop { background:#16211f66; backdrop-filter:blur(3px); }
.parents dialog label { margin:1rem 0; }
.parents dialog fieldset { border:1px solid var(--line,#d7dfda); border-radius:8px; }
.parent-course-options { display:grid; grid-template-columns:1fr 1fr; gap:0 .8rem; max-height:300px; overflow:auto; }
.parent-course-options label { flex-direction:row; align-items:start; font-size:.8rem; font-weight:400; margin:.4rem 0!important; }
.parents .parent-danger { color:#a23030; margin:.6rem 0; }
.parents [hidden] { display:none!important; }
.parent-print-value { display:none; }
@media (prefers-color-scheme:dark) {
  .parents { --parent-accent:#8ad0e3; --parent-soft:#1a3029; }
  .parents .btn-p { background:#17627a; border-color:#5ab6d0; color:white; }
  .parent-muted,.parent-privacy,#parent-save,.parent-stat small,.parent-task small,.parent-day-empty,.parent-day h3 small,.parent-sectionhead p,.parent-tabs a,.parent-weekbar span { color:var(--ink2); }
}
@media (max-width:900px) { .parent-cards,.parent-board { grid-template-columns:repeat(2,minmax(0,1fr)); } .parent-source-grid { grid-template-columns:1fr 1fr; } .parent-source-grid>button { justify-self:start; } }
@media (max-width:600px) {
  .parents .parent-page { padding:1.4rem 1rem 2rem; }
  .parent-cards,.parent-board,.parent-stats,.parent-report-meta,.parent-source-grid { grid-template-columns:1fr; }
  .parent-workhead h1 { font-size:2.5rem; }
  .parent-tabs { gap:0; }.parent-tabs a { padding:.7rem .6rem; font-size:.8rem; }
  .parent-family { padding:.9rem; gap:.6rem; }.parent-family label { width:100%; }
  #parent-save { margin-left:0; width:100%; padding:0; }
  .parent-source { padding:1rem; }.parent-packet { padding:1.2rem; }
  .parent-inline label { min-width:100%; }.parent-course-options { grid-template-columns:1fr; }
  .parent-course-report { padding:1rem; }.parent-weekbar span { width:100%; }
}
@media print {
  @page { margin:14mm; }
  .parents { background:white!important; color:black!important; font-size:10pt; }
  .parents>.nav,.parents>.crumbs,.parents>footer,.parent-privacy,.parent-tools,.parent-family,.parent-tabs,.parent-message,.parent-source,.parent-task-actions,.parent-day>button,.parent-weekbar>button,#parent-panel>.parent-source-grid,.parents dialog,.parent-sectionhead>button { display:none!important; }
  .parents .parent-page { max-width:none; padding:0; }.parent-workhead { margin:0 0 1rem; }
  .parent-workhead h1 { font-size:22pt; }.parent-board { display:block; }
  .parent-day { padding:.6rem; margin:.6rem 0; background:white; border:1px solid #bbb; break-inside:avoid; min-height:0; }
  .parent-task,.parent-course-report,.parent-packet { box-shadow:none; background:white; border:1px solid #bbb; break-inside:auto; }
  .parent-task { break-inside:avoid; }.parent-course-report h3 { break-after:avoid; }
  .parents input,.parents textarea,.parents select { border:0!important; padding:.2rem!important; background:white!important; color:black!important; }
  .parents textarea { height:auto; min-height:3rem; }.parent-table-scroll { overflow:visible; }
  #parent-panel textarea,#parent-panel input:not([type=checkbox]),#parent-panel select { display:none!important; }
  .parent-print-value { display:block; white-space:pre-wrap; font-weight:400; line-height:1.6; overflow-wrap:anywhere; }
  .parent-stats { grid-template-columns:repeat(3,1fr); }.parent-stat { background:#f5f5f5; }
  .parents details:not([open]) { display:none; }.parent-packet details:not([open]) { display:block; }
  .parents button { display:none!important; }.parents a { color:black!important; }
}
