/* ============================================================
   بوابة ولي الأمر — parent_portal.css
   رموز --pp-* بقيم صريحة (لا تعتمد على main.css — انظر css-vars-production-mismatch)
   ============================================================ */
:root{
  --pp-bg:#f3f6f9; --pp-card:#ffffff; --pp-ink:#0f172a; --pp-mut:#64748b; --pp-line:#e2e8f0;
  --pp-pri:#0f766e; --pp-pri-d:#115e59; --pp-pri-l:#e6f4f1; --pp-gold:#b8872b;
  --pp-red:#dc2626; --pp-red-l:#fef2f2; --pp-amb:#d97706; --pp-amb-l:#fffbeb;
  --pp-blu:#2563eb; --pp-blu-l:#eff6ff; --pp-grn:#16a34a; --pp-grn-l:#f0fdf4;
  --pp-r:14px; --pp-sh:0 1px 3px rgba(15,23,42,.06),0 4px 14px rgba(15,23,42,.05);
}
*{box-sizing:border-box}
html,body{margin:0}
body.pp{background:var(--pp-bg);color:var(--pp-ink);font-family:'Tajawal','Segoe UI',Tahoma,sans-serif;line-height:1.7;font-size:15px;-webkit-text-size-adjust:100%}
.pp a{color:var(--pp-pri);text-decoration:none}
.pp-top{background:linear-gradient(120deg,var(--pp-pri),var(--pp-pri-d));color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.pp-top__in{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.pp-top__logo{width:40px;height:40px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.pp-top__logo img{max-width:34px;max-height:34px}
.pp-top__t{flex:1;min-width:0}
.pp-top__t b{display:block;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-top__t small{opacity:.85;font-size:12px}
.pp-top a.pp-ib{color:#fff;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pp-top a.pp-ib:hover{background:rgba(255,255,255,.28)}
.pp-wrap{max-width:1080px;margin:0 auto;padding:16px}
.pp-h1{font-size:20px;font-weight:800;margin:6px 0 2px}
.pp-sub{color:var(--pp-mut);font-size:13.5px;margin:0 0 14px}
.pp-card{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r);box-shadow:var(--pp-sh);margin-bottom:14px;overflow:hidden}
.pp-card__h{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #eef2f7;font-weight:800}
.pp-card__h i{color:var(--pp-pri)}
.pp-card__b{padding:14px 16px}
.pp-grid{display:grid;gap:12px}
.pp-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pp-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pp-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:820px){.pp-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.pp-g2,.pp-g3{grid-template-columns:1fr}}
.pp-stat{background:#fff;border:1px solid var(--pp-line);border-radius:12px;padding:12px 14px}
.pp-stat__l{color:var(--pp-mut);font-size:12.5px;font-weight:700}
.pp-stat__v{font-size:22px;font-weight:800;line-height:1.3}
.pp-stat__s{font-size:12px;color:var(--pp-mut)}
.pp-kid{display:block;background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-r);box-shadow:var(--pp-sh);padding:14px 16px;color:inherit!important;transition:transform .12s,box-shadow .12s}
.pp-kid:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.1)}
.pp-kid__top{display:flex;gap:12px;align-items:center}
.pp-av{width:48px;height:48px;border-radius:50%;background:var(--pp-pri-l);color:var(--pp-pri);display:grid;place-items:center;font-size:20px;font-weight:800;flex:0 0 auto}
.pp-kid__n{font-weight:800;font-size:16px}
.pp-kid__m{color:var(--pp-mut);font-size:12.5px}
.pp-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.pp-mini div{background:#f8fafc;border-radius:10px;padding:6px 4px;text-align:center}
.pp-mini b{display:block;font-size:15px}
.pp-mini span{font-size:11px;color:var(--pp-mut)}
.pp-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;margin:0 0 10px;scrollbar-width:thin;position:sticky;top:60px;background:var(--pp-bg);z-index:10}
.pp-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--pp-line);color:var(--pp-ink)!important;font-weight:700;font-size:13.5px;white-space:nowrap}
.pp-tab.is-on{background:var(--pp-pri);border-color:var(--pp-pri);color:#fff!important}
.pp-tab .pp-dot{width:8px;height:8px;border-radius:50%;background:var(--pp-red)}
.pp-alert{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:10px 12px;margin-bottom:8px;border:1px solid transparent}
.pp-alert i{margin-top:4px}
.pp-alert b{display:block;font-size:14px}
.pp-alert span{font-size:13px;color:#334155}
.pp-alert--danger{background:var(--pp-red-l);border-color:#fecaca}.pp-alert--danger i{color:var(--pp-red)}
.pp-alert--warn{background:var(--pp-amb-l);border-color:#fde68a}.pp-alert--warn i{color:var(--pp-amb)}
.pp-alert--info{background:var(--pp-blu-l);border-color:#bfdbfe}.pp-alert--info i{color:var(--pp-blu)}
.pp-alert--good{background:var(--pp-grn-l);border-color:#bbf7d0}.pp-alert--good i{color:var(--pp-grn)}
.pp-alert a{margin-inline-start:auto;font-size:12.5px;font-weight:700;white-space:nowrap}
.pp-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.pp-tbl th{background:#f8fafc;color:#475569;font-weight:700;text-align:right;padding:8px 10px;border-bottom:1px solid var(--pp-line);white-space:nowrap}
.pp-tbl td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top}
.pp-scroll{overflow-x:auto}
.pp-badge{display:inline-block;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;background:#f1f5f9;color:#334155;white-space:nowrap}
.pp-bar{position:relative;height:18px;background:#eef2f7;border-radius:999px;overflow:hidden;min-width:90px}
.pp-bar>i{position:absolute;inset:0 auto 0 0;border-radius:999px}
[dir=rtl] .pp-bar>i{inset:0 0 0 auto}
.pp-bar>span{position:relative;display:block;text-align:center;font-size:11.5px;font-weight:800;line-height:18px;color:#0f172a}
.pp-empty{text-align:center;color:var(--pp-mut);padding:26px 10px}
.pp-empty i{display:block;font-size:30px;opacity:.35;margin-bottom:6px}
.pp-tl-day{margin-bottom:12px}
.pp-tl-day__h{font-weight:800;font-size:14px;color:var(--pp-pri-d);margin:0 0 6px;display:flex;gap:8px;align-items:center}
.pp-tl-ev{display:flex;gap:10px;padding:8px 10px;background:#fff;border:1px solid var(--pp-line);border-radius:10px;margin-bottom:6px}
.pp-tl-ev i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:12.5px;flex:0 0 auto;margin-top:2px}
.pp-tl-ev b{display:block;font-size:13.5px}
.pp-tl-ev span{font-size:12.5px;color:#475569}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pp-pri);color:#fff!important;border:none;border-radius:10px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}
.pp-btn:hover{background:var(--pp-pri-d)}
.pp-btn--o{background:#fff;color:var(--pp-pri)!important;border:1px solid var(--pp-pri)}
.pp-btn--o:hover{background:var(--pp-pri-l)}
.pp-btn--s{padding:6px 12px;font-size:13px;border-radius:8px}
.pp-btn--full{width:100%}
.pp-in{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;background:#fff}
.pp-in:focus{outline:none;border-color:var(--pp-pri);box-shadow:0 0 0 3px var(--pp-pri-l)}
.pp-lbl{display:block;font-weight:700;font-size:13.5px;margin:0 0 5px}
.pp-fg{margin-bottom:12px}
.pp-help{font-size:12.5px;color:var(--pp-mut);margin-top:4px}
.pp-msg{border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}
.pp-msg--err{background:var(--pp-red-l);color:#991b1b;border:1px solid #fecaca}
.pp-msg--ok{background:var(--pp-grn-l);color:#166534;border:1px solid #bbf7d0}
.pp-msg--inf{background:var(--pp-blu-l);color:#1e3a8a;border:1px solid #bfdbfe}
.pp-sched{border-collapse:separate;border-spacing:4px;width:100%;min-width:560px;font-size:12.5px}
.pp-sched th{background:var(--pp-pri-l);color:var(--pp-pri-d);border-radius:8px;padding:6px;font-weight:800}
.pp-sched td{background:#fff;border:1px solid var(--pp-line);border-radius:8px;padding:6px;text-align:center;vertical-align:middle;min-width:84px}
.pp-sched td b{display:block;font-size:12.5px}
.pp-sched td small{color:var(--pp-mut);font-size:11px}
.pp-sched td.is-today{outline:2px solid var(--pp-gold)}
.pp-plan{border:1px solid var(--pp-line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.pp-plan__h{background:var(--pp-pri-l);padding:8px 12px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:800;color:var(--pp-pri-d)}
.pp-plan__b{padding:8px 12px;font-size:13.5px}
.pp-kv{display:flex;gap:8px;padding:4px 0;border-bottom:1px dashed #eef2f7}
.pp-kv:last-child{border:none}
.pp-kv>b{min-width:120px;color:var(--pp-pri-d);font-size:13px}
.pp-kv>span{flex:1;white-space:pre-wrap}
.pp-done{margin-top:8px;background:#f4fbf8;border:1px solid #b7e2cd;border-radius:10px;padding:8px 10px}
.pp-foot{text-align:center;color:var(--pp-mut);font-size:12px;padding:20px 16px 34px}
.pp-auth{max-width:460px;margin:30px auto;padding:0 16px}
.pp-steps{display:flex;gap:6px;margin:0 0 14px}
.pp-steps span{flex:1;height:6px;border-radius:99px;background:#e2e8f0}
.pp-steps span.on{background:var(--pp-pri)}
.pp-otp{letter-spacing:10px;text-align:center;font-size:26px;font-weight:800;direction:ltr}
.pp-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pp-sp{flex:1}
.pp-chip{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700}
.pp-seg{display:inline-flex;background:#f1f5f9;border-radius:10px;padding:3px;gap:3px}
.pp-seg a{padding:5px 12px;border-radius:8px;font-size:13px;font-weight:700;color:#334155!important}
.pp-seg a.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--pp-pri)!important}
@media print{.pp-top,.pp-tabs,.pp-noprint{display:none!important}body.pp{background:#fff}.pp-card{box-shadow:none;break-inside:avoid}}
.pp-tbl td:first-child{white-space:nowrap}
