:root { --xncqh2-font:15px; --xncqh2-accent:#720101; }
.xncqh2-form{ font-size:var(--xncqh2-font); }
.xncqh2-row{ display:grid; gap:8px; margin:8px 0; }
.xncqh2-row.two{ grid-template-columns:1fr 1fr; }
.xncqh2-row.three{ grid-template-columns:1fr 1fr 1fr; }
.xncqh2-field label{ display:block; margin-bottom:4px; color:#333; font-weight:600; }
.xncqh2-field input{ width:100%; height:42px; padding:8px 10px; border:1px solid #ddd; border-radius:8px; }
.xncqh2-actions{ margin-top:8px; display:flex; flex-wrap:wrap; gap:8px; }
.xncqh2-btn{ background:var(--xncqh2-accent); color:#fff; border:none; border-radius:10px; padding:10px 16px; cursor:pointer; font-weight:600; }
.xncqh2-btn.outline{ background:#fff; color:#333; border:1px solid #ddd; }
#xncqh2-output{ margin-top:10px; font-size:14px; }
.xncqh2-card{ border:1px solid #eee; border-radius:14px; padding:12px 14px; margin:8px 0; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.03); }
.xncqh2-h3{ margin:0 0 6px; font-size:20px; color:var(--xncqh2-accent); }
.xncqh2-title{ margin:4px 0 10px; font-size:24px; font-weight:800; color:#222; }
.xncqh2-subtitle{ font-weight:700; margin:8px 0 6px; }
.xncqh2-meta{ color:#444; margin:3px 0; }
.xncqh2-section p{ margin:4px 0; line-height:1.55; }
.xncqh2-scorewrap{ display:flex; justify-content:flex-start; margin:6px 0 8px; }
.xncqh2-score{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:12px; background:#f5f5f5; border:1px solid #e8e8e8; }
.xncqh2-score-num{ font-size:26px; font-weight:800; line-height:1; }
.xncqh2-score-text{ font-size:14px; font-weight:700; }
.xncqh2-score.badge-good{ background:#e8f7ef; border-color:#cdeede; color:#0a7a3e; }
.xncqh2-score.badge-mid{ background:#fff3e0; border-color:#ffe0b2; color:#b26a00; }
.xncqh2-score.badge-bad{ background:#fdecef; border-color:#f7c9d2; color:#a10f2b; } .xncqh2-toggles-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.xncqh2-toggles-row label{ display:inline-flex; align-items:center; gap:6px; background:#f7f8fa; border:1px solid #e5e7eb; border-radius:999px; padding:6px 10px; font-size:12px; } .xncqh2-chip{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; border:1px solid #e5e7eb; background:#f7f7f7; }
.xncqh2-chip.good{ background:#e8f7ef; color:#0a7a3e; border-color:#cdeede; }
.xncqh2-chip.mid{ background:#fff3e0; color:#b26a00; border-color:#ffe0b2; }
.xncqh2-chip.bad{ background:#fdecef; color:#a10f2b; border-color:#f7c9d2; }
.xncqh2-chip.score{ font-weight:800; } .xncqh2-grid-days{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:8px; }
@media(min-width:640px){ .xncqh2-grid-days{ grid-template-columns:1fr 1fr; } }
.xncqh2-day{ border:1px solid #eee; border-radius:10px; padding:8px; background:#fff; }
.xncqh2-day-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; }
.xncqh2-day-date{ font-weight:700; }
.xncqh2-day-meta{ color:#444; font-size:13px; margin-bottom:6px; }
.xncqh2-day-flags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px; }
.xncqh2-day-reason{ color:#333; font-size:13px; } .xncqh2-child-line{ display:flex; align-items:center; gap:8px; } .xncqh2-prayer-text{ line-height:1.6; font-size:14px; }
.xncqh2-prayer-text p{ margin:6px 0; }
@media print {
.xncqh2-form, .xncqh2-title, .xncqh2-actions, #wpadminbar { display:none !important; }
body{ background:#fff; }
#xncqh2-output .xncqh2-card{ box-shadow:none; border:1px solid #999; }
}