/* Standing orders module (modules/66-standing-orders). */
.so-choice { border: 0; padding: 0; margin: 0 0 4px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; min-width: 0; }
.so-choice legend { font-weight: 600; font-size: 12.5px; margin-bottom: 6px; padding: 0; }
.so-choice label { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line, #dfe6ee); border-radius: 10px; cursor: pointer; min-width: 0; }
.so-choice label:has(input:checked) { border-color: var(--brand, #1a7fe0); background: var(--panel-soft, #f5f8fb); }
.so-choice span { display: flex; flex-direction: column; min-width: 0; }
.so-choice small { color: var(--muted); font-size: 11.5px; overflow-wrap: anywhere; }
.so-fee { margin: -4px 0 4px; }
.so-steps { margin: 0; padding-left: 18px; font-size: 12.5px; line-height: 1.6; }
.so-amount { font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.so-amount small { display: block; font-size: 12.5px; font-weight: 400; color: var(--muted); }
.so-upcoming { display: flex; flex-wrap: wrap; gap: 6px; }
.so-upcoming span { padding: 4px 10px; border-radius: 99px; background: var(--panel-soft, #eef3f8); font-size: 12px; font-variant-numeric: tabular-nums; }
.so-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.so-actions form { margin: 0; }
.ct-stack.so-actions { display: flex; flex-direction: column; }
.ct-stack.so-actions .ct-btn { width: 100%; justify-content: center; }
.so-note { margin-top: 4px; padding: 7px 10px; background: var(--panel-soft, #f5f8fb); border-radius: 8px; white-space: normal; overflow-wrap: anywhere; }
.so-wrap { white-space: normal; overflow-wrap: anywhere; max-width: 320px; }
.so-warn { color: #8a5a00; font-weight: 600; }
.so-saved { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.so-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.so-bulk select { max-width: 280px; }
@media (max-width: 560px) {
    .so-amount { font-size: 22px; }
    .so-wrap { max-width: 200px; }
}
