/* Parent portal (D106) */
.pa { display: flex; flex-direction: column; gap: 16px; }
.pa h1 { margin: 0; font-size: 26px; }
.pa h2 { margin: 0 0 10px; font-size: 17px; }
.pa p { margin: 0; }
.pa-kids { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 2px solid #DDD8E7; }
.pa-kid { min-height: 46px; padding: 0 22px; border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px; background: none; color: #5F5870; font: inherit; font-weight: 500; cursor: pointer; }
.pa-kid[aria-selected="true"] { border-color: var(--brand); color: #1B1428; font-weight: 700; }
.pa-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pa-pill { min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid #CFC9DC; background: #fff; color: #1B1428; font: inherit; cursor: pointer; }
.pa-pill[aria-pressed="true"] { background: #1B1428; border-color: #1B1428; color: #fff; font-weight: 600; }
.pa-pill:disabled { opacity: .5; cursor: default; }
.pa-mut { color: #5F5870; font-size: 14px; }
.pa-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.pa-card { background: #fff; border: 1px solid #E5E1EE; border-radius: 14px; padding: 18px; min-width: 0; }
.pa-n { font-size: 28px; font-weight: 700; margin-top: 4px; font-variant-numeric: tabular-nums; }
.pa-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.pa-wide { grid-column: 1 / -1; }
.pa-line { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #EEEAF4; }
.pa-line:last-child { border-bottom: 0; }
.pa-scroll { overflow-x: auto; }
.pa table { width: 100%; border-collapse: collapse; }
.pa th, .pa td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #EEEAF4; }
.pa th { color: #5F5870; font-size: 14px; font-weight: 500; }
.pa .r { text-align: right; font-variant-numeric: tabular-nums; }
.pa-track { height: 9px; background: #ECE8F4; border-radius: 5px; min-width: 90px; overflow: hidden; }
.pa-fill { height: 9px; background: var(--brand); }
.pa-chart { display: block; width: 100%; height: auto; }
.pa-bad { color: #9A2A1F; font-weight: 600; }
.pa-warn { color: #8A5300; font-weight: 600; }
.pa-link { border: 0; background: none; padding: 0; margin-top: 10px; color: inherit; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.pa-empty { background: #fff; border: 1px dashed #CFC9DC; border-radius: 14px; padding: 28px; text-align: center; color: #5F5870; }
.pa-kid:focus-visible, .pa-pill:focus-visible, .pa-link:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.pa-tile { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 4px; align-content: start; }
.pa-tile .pa-n { margin-top: 0; }
.pa-tiles { align-items: stretch; }
.pa-good { color: #0B5A38; font-weight: 600; }
.pa-today td { background: #F6F2FD; }
.pa td[rowspan] { vertical-align: top; }
.pa-hero { background: radial-gradient(circle at 92% 0, color-mix(in srgb, var(--brand) 45%, #160F22), #160F22 55%); color: #fff; border-radius: 22px; padding: 26px 28px; display: flex; flex-direction: column; gap: 20px; }
.pa-hero-top { display: flex; flex-wrap: wrap; gap: 28px; justify-content: space-between; align-items: flex-end; }
.pa-hl { color: #E6E1F0; }
.pa-hl.small { font-size: 14px; }
.pa .pa-big { font-size: 64px; font-weight: 800; line-height: 1.05; color: color-mix(in srgb, var(--brand) 62%, #fff); }
.pa-score { flex: 1 1 340px; max-width: 560px; }
.pa-between { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pa-scoren { font-size: 30px; font-weight: 800; }
.pa-bar { position: relative; height: 12px; border-radius: 6px; background: rgba(255,255,255,.18); margin: 10px 0 8px; }
.pa-barf { height: 12px; border-radius: 6px; background: color-mix(in srgb, var(--brand) 62%, #fff); }
.pa-barm { position: absolute; top: -5px; width: 3px; height: 22px; background: #fff; }
.pa-secs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.pa-sec { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 12px 14px; }
.pa-secn { font-size: 24px; font-weight: 700; }
.pa-rings { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px; }
.pa-ring { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.pa-week { display: grid; grid-template-columns: repeat(7, minmax(112px, 1fr)); gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.pa-day { background: #fff; border: 1px solid #E5E1EE; border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 6px; min-height: 150px; box-sizing: border-box; }
.pa-day-now { border: 2px solid var(--brand); }
.pa-dn { font-size: 13px; color: #5F5870; }
.pa-dd { font-size: 24px; font-weight: 800; line-height: 1; }
.pa-e { border-radius: 8px; padding: 5px 8px; font-size: 13px; font-weight: 600; }
.pa-e-les { background: #E7EEFC; color: #1D4CA8; }
.pa-e-hw { background: #FFF3D6; color: #6E4A00; }
.pa-e-ok { background: #E3F5EC; color: #0B5A38; }
.pa-e-bad { background: #FDEEE8; color: #8A2F12; }
.pa-e-mock { background: #160F22; color: #fff; }
.pa-dash { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 16px; align-items: start; }
.pa-task { display: flex; gap: 10px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid #EEEAF4; }
.pa-dot { width: 20px; height: 20px; border-radius: 50%; flex: none; box-sizing: border-box; border: 2px solid #CFC9DC; margin-top: 1px; }
.pa-dot-on { background: #0F8A5F; border-color: #0F8A5F; }
@media (max-width: 900px) { .pa-dash { grid-template-columns: minmax(0, 1fr); } .pa .pa-big { font-size: 48px; } }
