.prose h2{font-size:1.25rem;font-weight:700;margin:1.5rem 0 .5rem;color:#0f172a}
.prose p{margin:.75rem 0;line-height:1.7}
.prose ul{list-style:disc;padding-left:1.25rem;margin:.75rem 0}
.prose li{margin:.25rem 0}
.prose a{color:#059669;text-decoration:underline}
.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:.375rem;padding:.5rem .75rem;background:#fff}
.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}
.field ul.errorlist{color:#e11d48;font-size:.8rem;margin-top:.25rem}
.field .helptext{font-size:.75rem;color:#64748b}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:.375rem;padding:.5rem 1rem;font-weight:600;font-size:.875rem}
.btn-primary{background:#10b981;color:#0f172a}.btn-primary:hover{background:#34d399}
.btn-dark{background:#0f172a;color:#fff}.btn-dark:hover{background:#1e293b}
.btn-ghost{border:1px solid #cbd5e1;background:#fff}.btn-ghost:hover{background:#f1f5f9}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem}
/* toggle switch: <label class="switch"><input type="checkbox"><span></span></label> */
.switch{position:relative;display:inline-block;width:2.5rem;height:1.4rem;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:.15s;cursor:pointer}
.switch span:before{content:"";position:absolute;height:1rem;width:1rem;left:.2rem;top:.2rem;background:#fff;border-radius:50%;transition:.15s}
.switch input:checked+span{background:#10b981}
.switch input:checked+span:before{transform:translateX(1.1rem)}
.switch input:disabled+span{opacity:.5;cursor:not-allowed}
details.popover>summary{list-style:none;cursor:pointer}
details.popover>summary::-webkit-details-marker{display:none}
/* checkboxes/radios inside .field forms: natural size, label beside them */
.field input[type=checkbox],.field input[type=radio]{width:auto;padding:0;border-radius:.25rem}
.field label:has(> input[type=checkbox]),.field label:has(> input[type=radio]){display:flex;align-items:center;gap:.5rem;font-weight:400}
