/* Invoice applications extend the site's restrained navy / white form system. */
.invoice-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.invoice-actions .btn,.invoice-dialog .btn{font-family:inherit;justify-content:center}
.invoice-primary.btn{background:#1F3A68;color:#fff;border-color:#1F3A68}
.invoice-primary.btn:hover{background:#172D52;border-color:#172D52}
.invoice-ghost.btn{color:#1F3A68;border-color:#1F3A68;background:#fff}
.invoice-ghost.btn:hover{background:#EDF2F8}
.invoice-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--steel-200);border-radius:var(--radius);background:#fff;color:var(--ink);box-shadow:0 24px 70px -16px rgba(14,23,38,.4);overscroll-behavior:contain;scrollbar-gutter:stable}
.invoice-dialog::backdrop{background:rgba(14,23,38,.65)}
html.invoice-is-open{overflow:hidden}
.invoice-dialog form{padding:32px;position:relative}
.invoice-dialog h2{font-size:24px;line-height:1.5;color:#1F3A68;padding-right:34px;letter-spacing:.02em}
.invoice-dialog .invoice-lead{margin:10px 0 20px;font-size:14px;line-height:1.85;color:var(--steel-600)}
.invoice-bank{padding:14px 16px;background:var(--steel-50);border:1px solid var(--steel-200);font-size:13px;line-height:1.8;margin:0 0 24px;overflow-wrap:anywhere}
.invoice-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--radius);background:transparent;color:#1F3A68;font:28px/1 var(--sans);cursor:pointer}
.invoice-close:hover{background:var(--steel-100)}
.invoice-dialog form>label{display:block;margin:0 0 6px;font-size:14px;font-weight:700;color:#1F3A68}
.invoice-dialog form>label>span,.invoice-plans legend>span{margin-left:6px;font-size:12px;font-weight:700;color:#B93E08}
.invoice-dialog form>input:not([type=hidden]):not(.invoice-hp){display:block;width:100%;min-height:46px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--steel-300);border-radius:var(--radius);background:#fff;color:var(--ink);font:16px/1.5 var(--sans)}
.invoice-dialog input:focus-visible{outline:2px solid #1F3A68;outline-offset:2px}
.invoice-dialog .invoice-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.invoice-plans{padding:0;margin:8px 0 20px;border:0;min-width:0}
.invoice-plans legend{padding:0;margin-bottom:8px;font-size:14px;font-weight:700;color:#1F3A68}
.invoice-plan-list{display:grid;gap:8px}
.invoice-plan{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--steel-300);border-radius:var(--radius);cursor:pointer;line-height:1.65;transition:border-color .2s,background-color .2s}
.invoice-plan:hover{border-color:#1F3A68}
.invoice-plan:has(input:checked){border-color:#1F3A68;background:#F1F5FA}
.invoice-plan input{flex:none;width:18px;height:18px;margin:4px 0 0;accent-color:#1F3A68}
.invoice-plan>span{flex:1;min-width:0;font-size:14px;color:var(--steel-600)}
.invoice-plan>span>strong{font-size:15px;color:#1F3A68}
.invoice-plan>span>span{font-size:13px;overflow-wrap:anywhere}
.invoice-plan s{color:var(--steel-600)}
.invoice-plan span span strong{color:var(--accent-ink)}
.invoice-submit{width:100%;min-height:50px}
.invoice-dialog .btn:disabled{opacity:.6;cursor:wait}
.invoice-status:not([hidden]){padding:12px 14px;margin:0 0 20px;border:1px solid #B93E08;background:#FFF5EE;color:#832D08;font-size:14px;white-space:pre-line;line-height:1.8}
.invoice-success{padding-top:20px;line-height:1.9}
.invoice-success .btn{width:100%;margin-top:12px}
@media(max-width:600px){
 .invoice-actions{flex-direction:column;align-items:stretch}
 .invoice-actions .btn{padding:12px 10px;letter-spacing:0;font-size:14px;min-height:50px}
 .invoice-dialog form{padding:28px 20px 24px}
 .invoice-dialog h2{font-size:20px;letter-spacing:0}
 .invoice-bank{padding:12px;font-size:13px}
 .invoice-plan{padding:12px 10px;gap:10px}
}
