/* অভিভাবক পোর্টাল — app.css-এর রং/ভেরিয়েবল ব্যবহার করে, তাই সব থিমে মিলে যায়। */
/* ---------- অ্যাডমিন অংশ */
.pp-pin { display:inline-block; padding:2px 10px; border-radius:8px; background:var(--brand-soft); color:var(--brand-dark); font-weight:700; font-size:1.05rem; letter-spacing:.08em; }
.pp-slipcard { border:2px dashed var(--brand); }
.pp-linkcard { display:flex; flex-wrap:wrap; gap:10px 30px; align-items:center; justify-content:space-between; }
.pp-linkcard h2 { margin:0 0 4px; }
.pp-linkcard .mx-dl { margin:0; }
tr.pp-unread td { background:#fffaf0; font-weight:600; }
.pp-thread { display:flex; flex-direction:column; gap:10px; margin:14px 0; }
.pp-bubble { max-width:78%; padding:10px 14px; border-radius:14px; border:1px solid var(--line); background:#f7f8fa; line-height:1.6; overflow-wrap:anywhere; }
.pp-bubble small { display:block; color:var(--muted); font-size:.76rem; margin-bottom:3px; }
.pp-bubble.pp-me { align-self:flex-end; background:var(--brand-soft); border-color:transparent; }
.pp-bubble.pp-them { align-self:flex-start; }
/* লগইন স্লিপ (প্রিন্ট) */
.pp-slips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6mm; }
.pp-slip { padding:5mm; border:1px dashed #777!important; break-inside:avoid; page-break-inside:avoid; font-size:10pt; }
.pp-slip-head { display:flex; flex-direction:column; align-items:center; text-align:center; border-bottom:2px solid #333; padding-bottom:4px; margin-bottom:6px; }
.pp-slip-head b { font-size:12pt; }
.pp-slip-head span { font-size:9.5pt; }
.pp-slip td { padding:3px 6px!important; }
.pp-slip td:first-child { width:38%!important; }
.pp-big { font-size:13pt; letter-spacing:.06em; }
.pp-slip-note { margin:6px 0 0; font-size:8.5pt; color:#333; }
@media (max-width:700px) { .pp-slips { grid-template-columns:1fr; } }
@media print { .pp-slips { gap:5mm; } .pp-slip td:first-child { -webkit-print-color-adjust:exact; print-color-adjust:exact; } }

/* ---------- অভিভাবকদের পাতা (guardian.php) */
body .pp-wrap.wrap, body.app-authenticated .pp-wrap.wrap { max-width:980px!important; margin:0 auto!important; padding:14px 14px 40px!important; }
.pp-wrap .card { padding:18px; margin:14px 0; }
.pp-wrap h2 { font-size:1.15rem; }
.pp-login { max-width:430px; margin:7vh auto!important; border-top:4px solid var(--brand); }
.pp-login h1 { margin:4px 0 6px; font-size:1.4rem; }
.pp-login-mark { font-size:2.4rem; }
.pp-full { width:100%; margin-top:6px; padding:12px 16px; }
.pp-center { text-align:center; }
.pp-narrow { max-width:520px; }
.pp-top { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; padding:12px 16px; border-radius:14px; background:var(--brand); color:#fff; box-shadow:var(--shadow); }
.pp-top-brand { display:flex; gap:10px; align-items:center; min-width:0; }
.pp-top-brand .brand-mark { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:10px; background:rgba(255,255,255,.16); color:#fff; font-weight:700; font-size:1.2rem; }
.pp-top-brand strong { display:block; font-size:1rem; line-height:1.3; }
.pp-top-brand small { display:block; opacity:.85; font-size:.8rem; }
.pp-top-user { display:flex; gap:10px; align-items:center; font-size:.9rem; }
.pp-top-user form { margin:0; }
.pp-logout { background:rgba(255,255,255,.18)!important; color:#fff!important; }
.pp-logout:hover { background:rgba(255,255,255,.3)!important; }
.pp-kids { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:12px 0 0; }
.pp-kids a { padding:7px 14px; border-radius:20px; border:1px solid var(--line); background:#fff; color:#333; text-decoration:none; font-weight:600; font-size:.9rem; }
.pp-kids a.active { background:var(--brand-soft); border-color:var(--brand); color:var(--brand-dark); }
.pp-tabs { flex-wrap:nowrap!important; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.pp-child { display:flex; gap:16px; align-items:center; }
.pp-child h2 { margin:0 0 4px; }
.pp-child p { margin:2px 0; }
.pp-avatar { width:72px!important; height:72px!important; flex:0 0 72px; font-size:2rem; border-radius:50%; }
.pp-wrap .stat-card.pp-due strong { color:#b3261e; }
.pp-notice { padding:10px 0; border-bottom:1px solid var(--line); }
.pp-notice:last-of-type { border-bottom:0; }
.pp-notice p { margin:4px 0 0; color:#444; font-size:.92rem; line-height:1.6; }
.pp-total { margin:10px 0 0; }
.pp-foot { text-align:center; margin-top:18px; font-size:.82rem; }
/* হাজিরার ক্যালেন্ডার */
.pp-cal { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; margin:14px 0 6px; }
.pp-cal b { text-align:center; font-size:.78rem; color:var(--muted); padding:2px 0; }
.pp-cal span { min-height:48px; border-radius:9px; background:#f1f2f4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; }
.pp-cal span i { font-style:normal; font-weight:700; font-size:.92rem; }
.pp-cal span small { font-size:.66rem; line-height:1.1; text-align:center; }
.pp-cal .pp-cal-pad { background:transparent; }
.pp-cal .pp-present { background:#e7f7ed; color:#168141; }
.pp-cal .pp-late { background:#fff3dc; color:#a3620a; }
.pp-cal .pp-absent { background:#fdecea; color:#b3261e; }
.pp-cal .pp-leave { background:var(--brand-soft); color:var(--brand-dark); }
.pp-cal .pp-future { background:transparent; border:1px dashed var(--line); color:#aaa; }
@media (max-width:700px) {
  .pp-wrap .card { padding:14px; }
  .pp-top-user span { display:none; }
  .pp-child { align-items:flex-start; }
  .pp-avatar { width:56px!important; height:56px!important; flex-basis:56px; font-size:1.6rem; }
  .pp-cal { gap:3px; }
  .pp-cal span { min-height:40px; }
  .pp-cal span small { display:none; }
  .pp-bubble { max-width:92%; }
}
/* ডার্ক থিম */
[data-theme="dark"] tr.pp-unread td { background:#262216; }
[data-theme="dark"] .pp-bubble { background:#1d2027; border-color:#2b2f38; }
[data-theme="dark"] .pp-bubble.pp-me { background:#2a1d24; }
[data-theme="dark"] .pp-kids a { background:#171a21; border-color:#2b2f38; color:#e4e6ea; }
[data-theme="dark"] .pp-cal span { background:#1d2027; }
[data-theme="dark"] .pp-cal .pp-present { background:#15301f; color:#7fd49c; }
[data-theme="dark"] .pp-cal .pp-late { background:#33280f; color:#f0c060; }
[data-theme="dark"] .pp-cal .pp-absent { background:#3a1a18; color:#f19b93; }
[data-theme="dark"] .pp-cal .pp-future, [data-theme="dark"] .pp-cal .pp-cal-pad { background:transparent; }
[data-theme="dark"] .pp-notice p { color:#c9ccd2; }
.pp-slip table { table-layout:fixed; width:100%!important; min-width:0!important; }
.pp-slip td { overflow-wrap:anywhere; }
.pp-slip .pp-url { font-size:10pt; }
td.pp-actions { min-width:210px; }
.pp-wrap .mx-stats .stat-card { margin:0!important; }
@media (max-width:700px) { .pp-wrap .mx-stats { gap:10px; } }
