.staff-registration-dialog { box-sizing:border-box; width:min(780px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:26px; border:1px solid var(--st-border,#c8d3e0); border-radius:12px; background:var(--st-panel,#fff); color:var(--st-text,#20344f); box-shadow:0 25px 70px #0004; font:16px/1.5 'Segoe UI',sans-serif; }
.staff-registration-dialog::backdrop {background:#10192599;}
.staff-registration-dialog header {display:flex;justify-content:space-between;align-items:flex-start;gap:18px;}
.staff-registration-dialog h2 {margin:0 0 10px;font:700 26px/1.25 'Segoe UI',sans-serif;color:inherit;}
.staff-registration-dialog h3 {color:inherit;}
.staff-registration-dialog header p {margin:0 0 4px;font-size:12px;letter-spacing:.12em;}
.staff-registration-dialog :is(button,input,textarea,select) {font:inherit;}
.staff-registration-dialog button {min-height:44px;padding:10px 15px;border:1px solid var(--st-border,#bcc9da);border-radius:6px;background:var(--st-soft,#edf2f8);color:inherit;cursor:pointer;}
.staff-registration-dialog button[data-save] {background:var(--st-accent,#203f66);color:var(--st-on-accent,#fff);}
.staff-registration-dialog button:disabled {opacity:.65;cursor:wait;}
.staff-registration-dialog :is(input,textarea,select) {box-sizing:border-box;display:block;width:100%;padding:10px;margin:5px 0 0;border:1px solid var(--st-border,#bcc9da);border-radius:5px;background:var(--st-panel,#fff);color:inherit;}
.staff-registration-dialog label {display:block;margin:0 0 15px;font-weight:600;}
.staff-registration-dialog :is(label span,small) {font-size:13px;font-weight:400;color:var(--st-muted,#576b83);}
.staff-registration-dialog fieldset {padding:0;margin:0;border:0;min-width:0;}
.staff-registration-dialog .sr-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.staff-registration-dialog .sr-billing-choice {padding:14px;margin:8px 0 18px;background:var(--st-soft,#edf2f8);border-radius:7px;}
.staff-registration-dialog .sr-billing-choice legend {padding:0 4px;font-weight:700;}
.staff-registration-dialog :is(.sr-billing-choice label,.sr-check) {display:flex;gap:10px;align-items:center;}
.staff-registration-dialog :is(input[type=radio],input[type=checkbox]) {width:20px;height:20px;margin:0;flex:none;}
.staff-registration-dialog :is(.sr-submit-row,.sr-result-actions,.sr-invoice-controls) {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.staff-registration-dialog .sr-submit-row span {font-size:13px;}
.staff-registration-dialog .sr-lines {white-space:pre-line;}
.staff-registration-dialog [hidden] {display:none!important;}
.staff-registration-dialog [role=status] {font-weight:600;overflow-wrap:anywhere;}
.staff-registration-dialog :focus-visible {outline:3px solid var(--st-focus,#1379c0);outline-offset:3px;}
.staff-registration-dialog .sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
@media(max-width:560px) {.staff-registration-dialog{padding:18px;}.staff-registration-dialog .sr-grid{grid-template-columns:1fr;gap:0;}}
/* The invoice lives in its own document so Studio themes never alter the paper. */
.sr-invoice-dialog { width:min(940px,calc(100vw - 24px)); padding:0; background:var(--st-soft,#e9edf2); }
.sr-invoice-dialog .sr-invoice-controls { position:sticky; top:0; z-index:2; justify-content:space-between; padding:14px 20px; border-bottom:1px solid var(--st-border,#cad4df); background:var(--st-panel,#fff); }
.sr-invoice-dialog .sr-invoice-controls>span { font-weight:700; }
.sr-invoice-dialog .sr-invoice-controls>div { display:flex; gap:10px; }
.sr-invoice-dialog>[role=status] { padding:24px; }
.sr-invoice-dialog [data-invoice-frame] { display:block; width:100%; min-height:240px; border:0; background:#fff; }
body.ripac-invoice-document { margin:0; padding:0; background:#fff; color:#1c304c; font:14px/1.55 'Segoe UI',Arial,sans-serif; color-scheme:light; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.ripac-invoice-paper { box-sizing:border-box; width:100%; max-width:850px; margin:0 auto; padding:46px 48px 36px; overflow-wrap:anywhere; }
.ripac-invoice-paper * { box-sizing:border-box; }
.ripac-invoice-paper h1,.ripac-invoice-paper h2,.ripac-invoice-paper h3,.ripac-invoice-paper h4,.ripac-invoice-paper p { margin:0; }
.invoice-sample { display:flex; justify-content:space-between; gap:12px; margin:-12px 0 26px; padding:10px 12px; border:1px dashed #9da8b7; color:#53647b; font:700 11px/1.5 'Segoe UI',Arial,sans-serif; letter-spacing:.06em; }
.invoice-sample span { font-weight:400; letter-spacing:0; }
.invoice-header { display:flex; justify-content:space-between; align-items:center; gap:26px; }
.invoice-brand { display:flex; gap:16px; align-items:center; }
.invoice-brand img { display:block; width:76px; height:76px; object-fit:contain; flex:none; }
.invoice-brand strong { display:block; font-size:29px; line-height:1.1; letter-spacing:.1em; font-weight:800; }
.invoice-brand span { display:block; margin-top:7px; color:#53647b; font-size:11.5px; line-height:1.5; }
.invoice-identity { text-align:right; min-width:0; }
.invoice-identity h1 { font-size:38px; line-height:1.12; letter-spacing:-.035em; font-weight:500; }
.invoice-identity h2 { margin-top:9px; color:#53647b; font-size:12px; font-weight:650; letter-spacing:.04em; }
.invoice-rule { height:2px; margin:28px 0; background:#ad9044; }
.invoice-parties { display:grid; grid-template-columns:1fr minmax(220px,.72fr); gap:40px; margin-bottom:28px; }
.ripac-invoice-paper h3 { color:#59687a; font-size:10px; font-weight:750; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; }
.invoice-recipient { margin:9px 0 6px; font-size:17px; line-height:1.4; font-weight:700; }
.invoice-contact { color:#53647b; font-size:12px; line-height:1.65; }
.invoice-lines { white-space:pre-line; }
.invoice-facts { margin:0; font-size:12px; }
.invoice-facts>div { display:flex; justify-content:space-between; gap:20px; padding:5px 0; }
.invoice-facts dt { color:#667388; }
.invoice-facts dd { margin:0; text-align:right; font-weight:600; }
.invoice-status { display:inline-block; padding:3px 8px; border:1px solid #d3d9e1; border-radius:4px; font-size:10px; line-height:1.4; color:#344b65; background:#f5f7fa; }
.invoice-service { margin-bottom:22px; padding:16px 18px; border-left:3px solid #ad9044; background:#f5f7fa; }
.invoice-service p { margin-top:6px; font-weight:650; font-size:13px; }
.invoice-service>div { margin-top:5px; color:#59687a; font-size:12px; }
.invoice-items { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.invoice-items caption { text-align:left; margin-bottom:10px; font-size:10px; color:#59687a; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.invoice-description-col { width:52%; }.invoice-quantity-col { width:8%; }.invoice-price-col,.invoice-amount-col { width:20%; }
.invoice-items th { padding:9px 7px; border-bottom:1px solid #aeb9c7; color:#53647b; text-align:right; font-size:10px; font-weight:650; }
.invoice-items td { padding:15px 7px; border-bottom:1px solid #e1e5eb; vertical-align:top; text-align:right; }
.invoice-items :is(th,td):first-child { padding-left:0; text-align:left; }
.invoice-items :is(th,td):last-child { padding-right:0; }
.invoice-items td:nth-child(n+2) { font-variant-numeric:tabular-nums; }
.invoice-settlement { display:grid; grid-template-columns:1fr minmax(220px,.72fr); gap:40px; margin:24px 0 30px; }
.invoice-settlement>p { padding-top:8px; color:#59687a; font-size:11px; }
.invoice-totals>div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:8px 0; font-size:12px; }
.invoice-totals strong { font-variant-numeric:tabular-nums; font-weight:650; text-align:right; }
.invoice-totals .invoice-balance { margin-top:6px; padding-top:12px; border-top:2px solid #ad9044; font-size:13px; font-weight:700; }
.invoice-balance strong { font-size:24px; line-height:1.2; letter-spacing:-.03em; }
.invoice-payment { padding-top:22px; border-top:1px solid #d6dde5; break-inside:avoid; }
.invoice-payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:15px 0; font-size:12px; }
.invoice-payment h4 { color:#667388; font-size:10px; font-weight:500; margin-bottom:6px; }
.invoice-payment p { color:#59687a; font-size:11px; margin-top:12px; }
.invoice-footer { margin-top:32px; padding-top:18px; border-top:1px solid #d6dde5; text-align:center; color:#59687a; font-size:10px; break-inside:avoid; }
.invoice-footer strong { display:block; margin-bottom:7px; font-size:11px; color:#344b65; font-weight:600; }
.invoice-footer span { display:block; margin-top:3px; }
@media(max-width:560px) {
 .sr-invoice-dialog .sr-invoice-controls { padding:12px; gap:10px; }.sr-invoice-dialog .sr-invoice-controls>span { font-size:13px; }.sr-invoice-dialog .sr-invoice-controls button { padding:9px 11px; font-size:13px; }
 .ripac-invoice-paper { padding:26px 22px; }.invoice-header { align-items:flex-start; flex-direction:column; gap:20px; }.invoice-identity { text-align:left; }.invoice-identity h1 { font-size:30px; }.invoice-identity h2 { margin-top:5px; }
 .invoice-brand img { width:62px; height:62px; }.invoice-brand strong { font-size:26px; }.invoice-sample { flex-direction:column; gap:3px; margin:0 0 20px; }
 .invoice-parties { grid-template-columns:1fr; gap:20px; }.invoice-facts { max-width:330px; }.invoice-rule { margin:22px 0; }.invoice-settlement { grid-template-columns:1fr; gap:12px; }.invoice-settlement>p { order:2; }.invoice-payment-grid { gap:18px; }
 .invoice-description-col { width:43%; }.invoice-quantity-col { width:9%; }.invoice-price-col,.invoice-amount-col { width:24%; }.invoice-items th { padding:8px 4px; }.invoice-items td { padding:12px 4px; font-size:11px; }
}
@media print {
 @page { size:letter; margin:0.55in; }
 body.ripac-invoice-document { background:white; }
 .ripac-invoice-paper { max-width:none; padding:0; }
 .invoice-header,.invoice-parties,.invoice-service,.invoice-settlement { break-inside:avoid; }
 .invoice-items thead { display:table-header-group; }.invoice-items tr { break-inside:avoid; }
 .invoice-sample { margin:0 0 20px; }
 .invoice-rule { margin:22px 0; }.invoice-parties { margin-bottom:22px; }.invoice-service { margin-bottom:18px; }.invoice-settlement { margin:20px 0 22px; }.invoice-payment { padding-top:18px; }.invoice-footer { margin-top:24px; padding-top:14px; }
}
