/* Eltern-Dashboard */
.portal-main:has(.pd-layout){max-width:1440px;padding-top:4px}
.pd-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start;font-family:var(--font-body,inherit)}
.pd-layout :is(h1,h2,h3,h4){font-family:var(--font-display,inherit);letter-spacing:-.01em}
.pd-side{position:sticky;top:12px;display:grid;gap:14px}
.pd-kids,.pd-nav{padding:12px;border-radius:22px;background:#0f2444e6;border:1px solid #ffffff1c}
.pd-label{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8fb6cc;margin:4px 6px 10px}
.pd-kid{
  width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:10px;border-radius:16px;border:1px solid transparent;background:transparent;color:#e8f4fb;
  font:inherit;text-align:left;cursor:pointer;margin-bottom:6px;
}
.pd-kid:hover{background:#ffffff0d}
.pd-kid.active{background:linear-gradient(135deg,#1a4d8c,#0d6ea8);border-color:#7ef0ff55;box-shadow:0 8px 22px #0066ff33}
.pd-avatar,.pd-hero-avatar{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:22px;
  background:radial-gradient(circle at 32% 30%,#fff,#cfe9f5 60%,#7aa6c0);
}
.pd-kid b{display:block;font-size:14.5px}
.pd-kid small{display:block;color:#9fbad4;font-weight:700;font-size:12px}
.pd-kid em{font-style:normal;font-size:12px;font-weight:900;color:#FFD200}
.pd-empty-side{margin:8px;color:#9fbad4;font-weight:700;font-size:13.5px}
.pd-linkbox{margin-top:8px;padding:8px;border-radius:14px;border:1px dashed #ffffff2a}
.pd-linkbox summary{cursor:pointer;color:#7ef0ff;font-weight:800;font-size:13px;list-style:none}
.pd-linkbox summary::-webkit-details-marker{display:none}
.pd-linkform{display:grid;gap:8px;margin-top:10px}
.pd-linkform.wide{max-width:420px;margin:18px auto 0}
.pd-linkform input{border-radius:12px;border:1px solid #ffffff2a;background:#0a1830;color:#fff;padding:11px 12px;font:inherit;font-weight:800}
.pd-nav{display:grid;gap:4px}
.pd-nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;color:#c9dcef;text-decoration:none;font-weight:800;font-size:14.5px}
.pd-nav-item .icon{width:19px;height:19px}
.pd-nav-item:hover{background:#ffffff0d;color:#fff}
.pd-nav-item.active{background:linear-gradient(135deg,#00a6e8,#3fa35b);color:#fff;box-shadow:0 8px 22px #00a6e840}
.pd-main{min-width:0;display:grid;gap:18px}
.pd-card{padding:20px 22px;border-radius:22px;background:#0f2444ee;border:1px solid #ffffff1c;color:#e8f4fb;box-shadow:0 10px 30px #02101f33}
.pd-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.pd-card-head h3{margin:0;font-size:19px;color:#fff}
.pd-card-head small{color:#8fb6cc;font-weight:700}
.pd-card-head a{color:#7ef0ff;font-weight:800;font-size:13px;text-decoration:none}
.pd-eyebrow{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#FFD200}
.pd-hero{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,0.9fr);gap:22px;align-items:center;
  padding:26px 28px;border-radius:28px;border:1px solid #ffffff22;overflow:hidden;position:relative;
  background:
    radial-gradient(ellipse 50% 80% at 100% 0%,#3fa35b44,transparent 55%),
    radial-gradient(ellipse 40% 60% at 0% 100%,#00c2ff33,transparent 50%),
    linear-gradient(135deg,#0d2b5c,#0a1a36 60%,#0c2a24);
}
.pd-hero h1{margin:8px 0 8px;font-size:clamp(26px,3.2vw,38px);color:#fff}
.pd-hero p{margin:0 0 16px;color:#c7daf0;font-weight:700;max-width:46ch;line-height:1.45}
.pd-hero-child{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:#ffffff10;border:1px solid #ffffff18;width:fit-content}
.pd-hero-child b{display:block;color:#fff}
.pd-hero-child small{color:#b8d4e8;font-weight:700}
.pd-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pd-qa{display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:14px;background:#ffffff12;border:1px solid #ffffff22;color:#fff;text-decoration:none;font-weight:800;font-size:14px}
.pd-qa:hover{background:#ffffff20;transform:translateY(-1px)}
.pd-qa .icon{width:18px;height:18px;color:#FFD200}
.pd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pd-kpi{padding:18px;border-radius:20px;background:#0f2444ee;border:1px solid #ffffff1c}
.pd-kpi span{display:block;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#8fb6cc}
.pd-kpi b{display:block;margin:6px 0 4px;font-family:var(--font-display,inherit);font-size:30px;color:#fff;line-height:1}
.pd-kpi small{color:#9fbad4;font-weight:700;font-size:12.5px}
.pd-kpi.good b{color:#4ade80}
.pd-kpi.warn b{color:#fbbf24}
.pd-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pd-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;height:150px;align-items:end}
.pd-bar{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.pd-bar span{width:100%;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#5fe0a0,#00a6e8);min-height:3px}
.pd-bar em{font-style:normal;font-size:11px;color:#8fb6cc;font-weight:800}
.pd-subjects,.pd-topics,.pd-recent{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pd-subjects li,.pd-topics li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 44px;gap:12px;align-items:center}
.pd-subjects b,.pd-topics b{display:block;font-size:14.5px;color:#fff}
.pd-subjects small,.pd-topics small,.pd-recent small{display:block;color:#8fb6cc;font-weight:700;font-size:12px}
.pd-subjects em,.pd-topics em{font-style:normal;text-align:right;font-weight:900;font-size:13px}
.pd-meter{height:9px;border-radius:999px;background:#ffffff14;overflow:hidden}
.pd-meter i{display:block;height:100%;border-radius:inherit}
.pd-meter.good i{background:#4ade80}.pd-meter.warn i{background:#fbbf24}.pd-meter.bad i{background:#f87171}
.pd-recent li{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:#ffffff0a}
.pd-recent.dense li{padding:8px 10px}
.pd-recent b{color:#fff;font-size:14px}
.pd-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;background:#fbbf24}
.pd-dot.good{background:#4ade80}
.pd-empty{margin:0;color:#9fbad4;font-weight:700}
.pd-pagehead h2{margin:0 0 4px;font-size:clamp(26px,3vw,34px);color:#fff}
.pd-pagehead p{margin:0;color:#c7daf0;font-weight:700}
.pd-table-wrap{overflow-x:auto}
.pd-table{width:100%;border-collapse:collapse;font-size:14px}
.pd-table th,.pd-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #ffffff14}
.pd-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8fb6cc}
.pd-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:900;background:#ffffff14}
.pd-pill.good{background:#4ade8033;color:#b6f5cf}.pd-pill.warn{background:#fbbf2433;color:#fde68a}.pd-pill.bad{background:#f8717133;color:#fecaca}
.pd-settings{display:grid;gap:16px}
.pd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pd-field{display:grid;gap:5px}
.pd-field>span{font-size:12.5px;font-weight:800;color:#a9c6dc}
.pd-field input,.pd-field select{width:100%;border-radius:12px;border:1px solid #ffffff2a;background:#0a1830;color:#fff;padding:11px 12px;font:inherit}
.pd-field input:disabled{opacity:.7}
.pd-note{margin:0;color:#8fb6cc;font-size:13px;font-weight:600}
.pd-empty-state{text-align:center;padding:48px 28px}
.pd-empty-state h2{margin:12px 0 8px;color:#fff;font-size:26px}
.pd-empty-state p{max-width:480px;margin:0 auto;color:#c7daf0;font-weight:700}
.pd-empty-ico{width:64px;height:64px;margin:0 auto;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#00a6e8,#3fa35b);color:#fff}
.pd-empty-ico .icon{width:28px;height:28px;color:#fff}

@media(max-width:980px){
  .pd-layout{grid-template-columns:1fr}
  .pd-side{position:static}
  .pd-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .pd-nav-item{flex-direction:column;gap:4px;font-size:11px;padding:10px 6px;text-align:center}
  .pd-hero{grid-template-columns:1fr}
  .pd-kpis,.pd-grid2,.pd-form-grid{grid-template-columns:1fr 1fr}
  .pd-quick{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .pd-kpis,.pd-grid2,.pd-form-grid,.pd-nav{grid-template-columns:1fr}
  .pd-bars{height:120px}
}
@media(prefers-reduced-motion:reduce){
  .pd-qa:hover{transform:none}
}
