/* Ramadan 2027 planner, kids calendar, 30-day Qur'an schedule, last ten nights.
   Tokens come from /assets/styles.css and /library/assets/library.css. */
.rp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.rp-tabs a{font-size:15px;font-weight:600;color:var(--cream-dim);background:var(--bg-elevated);border:1px solid var(--line);border-radius:100px;padding:9px 16px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.rp-tabs a:hover{border-color:var(--gold-soft);color:var(--emerald)}
.rp-tabs a[aria-current="page"]{background:var(--emerald);color:#f5f1e8;border-color:var(--emerald)}

.rp-card{border:1px solid var(--line);border-radius:18px;background:var(--bg-card);padding:22px 24px;margin:0 0 18px}
.rp-card h2,.rp-card h3{font-family:var(--serif);color:var(--emerald);margin:0 0 12px}
.rp-card h2{font-size:24px}
.rp-card h3{font-size:19px}
.rp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rp-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:720px){.rp-grid2,.rp-grid3{grid-template-columns:1fr}}
.rp-field{display:flex;flex-direction:column;gap:6px;margin:0 0 4px}
.rp-field label,.rp-field .rp-lab{font-weight:600;font-size:15px;color:var(--cream)}
.rp-field input[type=date],.rp-field input[type=number],.rp-field input[type=text],.rp-field select,.rp-field textarea{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--cream);width:100%;min-height:44px}
.rp-field textarea{min-height:84px;resize:vertical}
.rp-field input:focus,.rp-field select:focus,.rp-field textarea:focus,.rp-btn:focus-visible,.rp-day:focus-visible,.rp-check input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.rp-hint{font-size:13.5px;color:var(--cream-muted);margin:2px 0 0;line-height:1.5}

.rp-btn{font:inherit;font-size:15px;font-weight:600;cursor:pointer;border-radius:100px;border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--emerald);padding:10px 18px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.rp-btn:hover{border-color:var(--gold-soft)}
.rp-btn.primary{background:var(--emerald);color:#f5f1e8;border-color:var(--emerald)}
.rp-btn.primary:hover{background:var(--emerald-hover)}
.rp-btn.quiet{background:none;color:var(--cream-dim);font-weight:500}
.rp-btn.sm{padding:6px 12px;min-height:36px;font-size:14px}
.rp-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}

/* Summary */
.rp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
@media(max-width:820px){.rp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rp-stat{border:1px solid var(--line);border-radius:14px;background:var(--bg-card);padding:14px 16px}
.rp-stat b{display:block;font-family:var(--serif);font-size:30px;line-height:1.05;color:var(--emerald);font-weight:600}
.rp-stat span{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-muted);margin-top:4px}
.rp-bar{height:10px;border-radius:99px;background:var(--bg-elevated);overflow:hidden;border:1px solid var(--line)}
.rp-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--emerald),var(--gold));border-radius:99px;transition:width .3s}
.rp-meter{margin:10px 0 0;font-size:14.5px;color:var(--cream-dim)}

/* Day strip */
.rp-strip{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:0 0 18px}
@media(max-width:720px){.rp-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}
.rp-day{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);color:var(--cream);padding:6px 2px 7px;min-height:52px;text-align:center;line-height:1.15;position:relative}
.rp-day b{display:block;font-family:var(--serif);font-size:19px;font-weight:600;color:var(--emerald)}
.rp-day small{display:block;font-size:11.5px;color:var(--cream-muted)}
.rp-day:hover{border-color:var(--gold-soft)}
.rp-day[aria-pressed="true"]{border-color:var(--emerald);box-shadow:0 0 0 2px var(--emerald) inset}
.rp-day.done{background:var(--emerald);border-color:var(--emerald)}
.rp-day.done b,.rp-day.done small{color:#f5f1e8}
.rp-day.part{background:color-mix(in srgb,var(--gold) 22%,var(--bg-card))}
.rp-day.ex{background:repeating-linear-gradient(45deg,var(--bg-elevated),var(--bg-elevated) 6px,var(--bg-card) 6px,var(--bg-card) 12px)}
.rp-day.today::after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.rp-day.fri small{font-weight:700;color:var(--gold-text)}.rp-day.done.fri small{color:#EBD3A0}

/* Checks */
.rp-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:0 0 6px}
.rp-check{position:relative;display:block}
.rp-check input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;inset:0}
.rp-check span{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg);padding:11px 14px;min-height:48px;font-size:15.5px;color:var(--cream);transition:.15s}
.rp-check span::before{content:"";flex:0 0 20px;height:20px;border-radius:6px;border:2px solid var(--gold-soft);background:var(--bg-card)}
.rp-check input:checked+span{background:color-mix(in srgb,var(--emerald) 10%,var(--bg-card));border-color:var(--emerald);font-weight:600}
.rp-check input:checked+span::before{background:var(--emerald) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 6.8' fill='none' stroke='%23f5f1e8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;border-color:var(--emerald)}
.rp-check input:disabled+span{opacity:.5;cursor:not-allowed}
.rp-check.star input:checked+span{background:color-mix(in srgb,var(--gold) 20%,var(--bg-card));border-color:var(--gold)}
.rp-check.star input:checked+span::before{background-color:var(--gold-text);border-color:var(--gold-text)}
.rp-sub{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);font-weight:700;margin:18px 0 8px}
.rp-count{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rp-count output{font-family:var(--serif);font-size:30px;color:var(--emerald);min-width:3ch;text-align:center}
.rp-dayhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 6px}
.rp-dayhead h3{margin:0}
.rp-dayhead .dim{font-size:14.5px;color:var(--cream-muted)}
.rp-private{font-size:13.5px;color:var(--cream-muted);margin:10px 2px 0}

/* Tables on screen */
.rp-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--bg-card)}
.rp-table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.rp-table th,.rp-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.rp-table th{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);background:var(--bg-elevated)}
.rp-table tr:last-child td{border-bottom:none}
.rp-table td.num{font-family:var(--serif);font-weight:600;color:var(--emerald);font-size:17px}
.rp-table tr.odd td{background:color-mix(in srgb,var(--gold) 12%,var(--bg-card))}
.rp-table input[type=checkbox]{width:22px;height:22px;accent-color:var(--emerald)}
.rp-table tr.done td{color:var(--cream-muted)}
.rp-sheet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:0 0 12px}
.rp-sheet-head h2{margin:0;font-family:var(--serif);font-size:24px;color:var(--emerald)}
.rp-sheet-head p{margin:0;font-size:14.5px;color:var(--cream-muted)}

/* Kids */
.kid-sheet{border:1px solid var(--line);border-radius:18px;background:#fffdf8;padding:22px;margin:0 0 22px}
.kid-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.kid-top h2{font-family:var(--serif);font-size:clamp(26px,4vw,34px);color:var(--emerald);margin:0;line-height:1.1}
.kid-top h2 em{color:var(--gold-text);font-style:italic}
.kid-name{font-size:15px;color:var(--cream-dim);align-self:flex-end;min-width:46%}
.kid-name span{display:inline-block;border-bottom:1.5px solid var(--cream-muted);min-width:70%;height:1.2em;vertical-align:bottom}
.kid-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
@media(max-width:760px){.kid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kid-cell{--w:#e6c978;position:relative;border:2px solid var(--w);border-radius:14px;background:color-mix(in srgb,var(--w) 16%,#fff);padding:8px 8px 9px;min-height:104px;font:inherit;text-align:left;cursor:pointer;color:var(--cream);display:flex;flex-direction:column;gap:3px}
.kid-cell .d{font-family:var(--serif);font-weight:700;font-size:25px;line-height:1;color:var(--emerald)}
.kid-cell .g{font-size:11.5px;color:var(--cream-muted)}
.kid-cell .t{font-size:12.5px;line-height:1.25;font-weight:600;color:var(--cream-dim);margin-top:auto}
.kid-cell .s{position:absolute;top:7px;right:7px;width:26px;height:26px;color:var(--w);filter:saturate(.9)}
.kid-cell .s path{fill:#fff;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.kid-cell.done .s path{fill:currentColor}
.kid-cell.done{background:color-mix(in srgb,var(--w) 34%,#fff)}
.kid-cell:focus-visible{outline:3px solid var(--emerald);outline-offset:2px}
.kid-w1{--w:#e0b34a}.kid-w2{--w:#5fa88a}.kid-w3{--w:#e08a7b}.kid-w4{--w:#6f9fd0}.kid-w5{--w:#a58bc8}
.kid-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;font-size:13.5px;color:var(--cream-muted)}
.kid-deeds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
@media(max-width:760px){.kid-deeds{grid-template-columns:1fr}}
.kid-deed{--w:#e0b34a;display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:10px;align-items:start;border:1.5px solid var(--w);border-left-width:6px;border-radius:12px;background:#fff;padding:8px 10px;break-inside:avoid}
.kid-deed .n{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--emerald);line-height:1.1}
.kid-deed b{display:block;font-size:14.5px;color:var(--cream);line-height:1.25}
.kid-deed p{margin:2px 0 0;font-size:12.5px;line-height:1.35;color:var(--cream-dim)}
.kid-deed p i{color:var(--gold-text);font-style:normal;font-weight:600}
.kid-deed .box{width:20px;height:20px;border:2px solid var(--w);border-radius:6px;margin-top:2px}

/* Qur'an schedules */
.q-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.q-tabs button{font:inherit;font-size:15px;font-weight:600;cursor:pointer;border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--cream-dim);border-radius:100px;padding:9px 16px;min-height:44px}
.q-tabs button[aria-pressed="true"]{background:var(--emerald);color:#f5f1e8;border-color:var(--emerald)}
@media screen{.rp-sheet.rp-off{display:none}}

/* Last ten nights */
.nights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:720px){.nights{grid-template-columns:1fr}}
.night{border:1px solid var(--line);border-radius:16px;background:var(--bg-card);padding:16px 18px}
.night.odd{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--bg-card))}
.night h3{font-family:var(--serif);font-size:20px;color:var(--emerald);margin:0 0 2px;display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.night h3 .odd-tag{font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.night .when{font-size:13.5px;color:var(--cream-muted);margin:0 0 10px}
.night .rp-checks{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
.night .rp-check span{min-height:40px;padding:7px 10px;font-size:14.5px}
.qadr-dua{border:1px solid var(--gold-soft);border-left:4px solid var(--gold);border-radius:14px;background:var(--bg-elevated);padding:20px 24px;margin:0 0 18px;max-width:780px}
.qadr-dua .ar{font-family:var(--arabic);font-size:clamp(28px,4vw,38px);line-height:2;direction:rtl;text-align:center;color:var(--cream);margin:0}
.qadr-dua .tl{font-style:italic;color:var(--cream-dim);text-align:center;margin:4px 0}
.qadr-dua .mn{text-align:center;color:var(--cream-dim);margin:0}
.qadr-dua .src{text-align:center;font-size:13.5px;color:var(--gold-text);margin:8px 0 0}

/* ------- paper ------- */
.rp-print-only{display:none}
.sheet-t{width:100%;border-collapse:collapse;font-size:9.5pt;color:#111}
.sheet-t th,.sheet-t td{border:1px solid #6b7a70;padding:0 3px;text-align:center}
.sheet-t th{background:#e9efe9;font-size:8pt;font-weight:700;height:8mm;line-height:1.1}
.sheet-t td{height:7.1mm}
.sheet-t td.l{text-align:left}
.sheet-t td.day{font-weight:700;width:7mm;white-space:nowrap}
.sheet-t td.dt{width:19mm;font-size:8pt;text-align:left;white-space:nowrap}
.sheet-t tr.fri td{background:#f6efd9}
.sheet-t tr.odd td{background:#f6efd9}
.sheet-t .nt{width:42mm}
.sheet-h{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;margin:0 0 3mm;color:#111}
.sheet-h h2{font-family:var(--serif);font-size:17pt;margin:0;color:#1B4D35}
.sheet-h p{margin:0;font-size:9pt;color:#444}
.sheet-nm{font-size:9.5pt;color:#111}
.sheet-nm span{display:inline-block;border-bottom:1px solid #111;width:55mm;height:1em;vertical-align:bottom}
.sheet-foot{font-size:8pt;color:#555;margin:2mm 0 0;text-align:center}

@media print{
  html,body{background:#fff !important}
  body>*:not(main){display:none !important}
  .hg-main{padding:0 !important}
  .lib-wrap{max-width:none !important;padding:0 !important;margin:0 !important}
  .lib-wrap>*:not(.rp-sheet){display:none !important}
  .rp-print-only{display:block !important}
  .rp-sheet{break-after:page;page-break-after:always;border:none !important;border-radius:0 !important;padding:0 !important;margin:0 !important;background:#fff !important;box-shadow:none !important}
  .rp-sheet.rp-off{display:block}
  .rp-sheet.skip-print{display:none !important}
  .no-print{display:none !important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kid-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:2.4mm}
  .kid-cell{min-height:36mm;padding:2.4mm;border-width:1.6pt}
  .kid-cell .d{font-size:20pt}
  .kid-cell .g{font-size:7.5pt}
  .kid-cell .t{font-size:8.2pt}
  .kid-cell .s{width:8mm;height:8mm;top:2mm;right:2mm}
  .kid-top h2{font-size:24pt}
  .kid-deeds{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:1mm 4mm}
  .kid-deed{padding:.6mm 2mm;grid-template-columns:7mm minmax(0,1fr) 4.5mm;gap:1.5mm;border-width:1pt;border-left-width:2mm}
  .kid-deed .n{font-size:12pt}
  .kid-deed b{font-size:8.6pt;line-height:1.15}
  .kid-deed p{font-size:7pt;line-height:1.2;margin-top:.5mm}
  .kid-deed .box{width:4mm;height:4mm;border-width:1pt}
  #kid-deeds .kid-top{margin-bottom:2mm}
  #kid-deeds .kid-top h2{font-size:18pt}
  .kid-legend{font-size:8pt;margin-top:3mm}
  .rp-table tr{break-inside:avoid}
  .rp-table thead{display:table-header-group}
  .rp-table{min-width:0;font-size:9.5pt}
  .rp-table td,.rp-table th{padding:1.2mm 2mm}
  .rp-table-wrap{border:none;overflow:visible}
  .sheet-h{margin-bottom:2mm}
}
