.afrpa-phone-fields{display:grid;grid-template-columns:minmax(145px,1fr) minmax(100px,1fr);gap:8px;width:100%}
.afrpa-phone-fields select,.afrpa-phone-fields input{width:100%!important;min-width:0;min-height:44px;margin:0!important}
.afrpa-password-wrap{position:relative;display:block;width:100%}.afrpa-password-wrap input{padding-right:52px!important;width:100%}
.afrpa-password-eye{position:absolute!important;right:4px;top:50%;transform:translateY(-50%);width:42px!important;height:40px;min-width:0!important;padding:8px!important;border:0!important;background:transparent!important;color:#244a38!important;display:grid;place-items:center}
.afrpa-password-eye svg{width:24px;height:24px}.afrpa-password-eye[aria-pressed=true]{background:#ffdf00!important;border-radius:6px}
.afrpa-admin :is(.button,button:not(.afrpa-close),select,.afrpa-account-actions summary){min-height:40px;font-size:14px;line-height:1.4;padding:9px 12px}
.afrpa-admin :is(input:not([type=checkbox]):not([type=hidden]),select){min-height:40px;font-size:14px}
.afrpa-admin :is(input[type=checkbox]){width:20px;height:20px;flex-shrink:0}
.afrpa-admin dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);box-sizing:border-box}
.afrpa-admin .afrpa-file-tools{display:flex;align-items:center;gap:5px;flex-shrink:0}.afrpa-admin .afrpa-file-tools .button{min-width:36px;padding:6px}
.afrpa-sort-handle{cursor:grab}.afrpa-transfer-handle{cursor:grab}.afrpa-space-file.ui-sortable-helper{background:#fff;box-shadow:0 8px 24px #183a3429}
.afrpa-transfer-bar{padding:14px 16px;margin:12px 0;border:1px solid #cad8da;border-radius:12px;background:#f3f7f5}.afrpa-transfer-bar p{margin:6px 0}
.afrpa-transfer-targets{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;padding:3px}
.afrpa-transfer-targets .is-drop-target{outline:3px solid #ffdf00;background:#254b3a!important;color:#fff!important}
.afrpa-admin .afrpa-invisible[aria-pressed=false]{background:#ffcc00!important;color:#171717!important;border-color:#d5ad00!important}
.afrpa-admin .afrpa-invisible[aria-pressed=true]{background:#f1f2f2!important;color:#4b5054!important;border:1px solid #93999d!important}
.afrpa-admin .afrpa-space-file:has(.afrpa-invisible[aria-pressed=true]){border-left:4px solid #93999d}
.afrpa-transfer-dialog{border:0;border-radius:16px;padding:28px;width:500px;box-shadow:0 18px 70px #0004}.afrpa-transfer-dialog::backdrop{background:#142a3266}
.afrpa-transfer-dialog .afrpa-transfer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.afrpa-transfer-dialog button{min-height:44px;padding:10px 16px;font-size:15px}
.afrpa-admin .afrpa-space-file-row{flex-wrap:wrap;gap:10px}.afrpa-admin .afrpa-space-file-row .afrpa-record-actions{flex-wrap:wrap}
@media(max-width:600px){.afrpa-phone-fields{grid-template-columns:1fr}.afrpa-transfer-dialog{padding:20px;width:calc(100vw - 32px)}.afrpa-admin :is(.button,button,select){min-height:44px}.afrpa-admin .afrpa-file-tools{width:100%}}
.afrpa-admin :is(.afrpa-guide-subnav,.afrpa-records:has(>.afrpa-user-groups)>.subsubsub,.afrpa-user-groups) a{font-size:14px;min-height:40px;box-sizing:border-box;display:inline-flex;align-items:center;padding:8px 12px}
.afrpa-admin .afrpa-tabs>a.button{min-height:44px;display:inline-flex;align-items:center}
.afrpa-admin .afrpa-space-file-row .afrpa-record-actions .button{min-height:40px;font-size:14px;padding:8px 11px}
.afrpa-admin #pa-space.afrpa-space-wide{top:24px!important;margin:0 auto!important;max-height:calc(100dvh - 48px)!important;height:auto!important}
.afrpa-admin #pa-space .afrpa-space-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px}
.afrpa-admin #pa-space .afrpa-space-file-row>form{grid-column:1/3;grid-row:1;width:100%;min-width:0}
.afrpa-admin #pa-space .afrpa-space-file-row>.afrpa-file-meta{grid-column:3;grid-row:1}
.afrpa-admin #pa-space .afrpa-file-tools{grid-column:1;grid-row:2;width:auto}
.afrpa-admin #pa-space .afrpa-space-file-row>.afrpa-record-actions{grid-column:2/4;grid-row:2;justify-content:flex-end;width:auto}
.afrpa-admin #pa-space .afrpa-inline-name{width:100%}.afrpa-admin #pa-space .afrpa-inline-name input{text-align:left;width:100%;font-size:15px}
.afrpa-admin #pa-space .afrpa-space-heading .button{min-height:40px;font-size:14px;padding:8px 12px}
@media(max-width:700px){.afrpa-admin #pa-space .afrpa-space-file-row>.afrpa-record-actions{grid-column:1/4;grid-row:3;justify-content:flex-start}.afrpa-admin #pa-space .afrpa-file-tools{grid-column:1/4}.afrpa-admin #pa-space.afrpa-space-wide{top:16px!important;max-height:calc(100dvh - 32px)!important}}
.afrpa-admin dialog.afrpa-transfer-dialog{width:min(540px,calc(100vw - 32px))!important;max-width:540px!important;min-width:0!important;padding:28px!important}
.afrpa-transfer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.afrpa-admin #pa-space .afrpa-file-tools{flex-wrap:wrap}
.afrpa-admin #pa-space .afrpa-transfer-handle{min-width:125px;font-weight:600}
.afrpa-drag-help summary{cursor:pointer;min-height:36px;display:list-item;padding:8px 0;font-weight:600}
.afrpa-transfer-dialog label{display:block;font-weight:600}.afrpa-transfer-dialog select{display:block;width:100%;min-height:44px;margin-top:8px;font-size:15px}
.afrpa-transfer-file-names{padding:10px;background:#f1f5f4;border-radius:6px;overflow-wrap:anywhere;max-height:100px;overflow:auto}

/* Tab heights and proportional text sizes. */
.afrpa-admin .afrpa-tabs>a.button{box-sizing:border-box;height:40px!important;min-height:40px!important;font-size:15.364px!important;line-height:1.5;padding:4px 13px;white-space:nowrap}
.afrpa-admin :is(.afrpa-user-groups,.subsubsub) a{box-sizing:border-box;height:32px!important;min-height:32px!important;font-size:12.291px!important;line-height:1.5;padding:3px 10.4px!important;white-space:nowrap}
.afrpa-admin :is(.afrpa-guide-subnav,.afrpa-records:has(>.afrpa-user-groups)>.subsubsub) a{box-sizing:border-box;height:26px!important;min-height:26px!important;font-size:9.986px!important;line-height:1.5;padding:2px 8.32px!important;white-space:nowrap}
/* Paired user creation actions share the same dimensions. */
.afrpa-admin .afrpa-record-toolbar>div:has(>[data-pa-open="pa-invite"]):has(>[data-pa-open="pa-create-user"]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:max-content;max-width:100%}
.afrpa-admin .afrpa-record-toolbar :is([data-pa-open="pa-invite"],[data-pa-open="pa-create-user"]){box-sizing:border-box;width:100%;height:40px;min-height:40px;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:8px 14px}
@media(max-width:600px){.afrpa-admin .afrpa-record-toolbar>div:has(>[data-pa-open="pa-invite"]):has(>[data-pa-open="pa-create-user"]){width:100%;grid-template-columns:1fr}.afrpa-admin .afrpa-record-toolbar :is([data-pa-open="pa-invite"],[data-pa-open="pa-create-user"]){white-space:normal}}

.afrpa-admin .afrpa-tabs .afrpa-tab-title{margin:0 0 0 12px;align-self:center;font-size:17px;line-height:1.3;font-weight:600;color:#173e44}
.afrpa-admin .afrpa-record-toolbar>h3{display:none}
.afrpa-admin .afrpa-record-toolbar:empty{display:none}
.afrpa-admin .afrpa-record-toolbar>div:has(>[data-pa-open="pa-invite"]){margin-left:auto}
@media(max-width:800px){.afrpa-admin .afrpa-tabs .afrpa-tab-title{flex-basis:100%;margin:8px 0}.afrpa-admin .afrpa-tabs{flex-wrap:wrap}}

/* Twelve pixels between the three navigation levels. */
.afrpa-admin .afrpa-tabs~.afrpa-records:not(:has(>.afrpa-browser)){padding-top:12px}
.afrpa-admin .afrpa-records>.afrpa-user-groups,.afrpa-admin .afrpa-records>.subsubsub{margin:0!important;padding-top:0!important;padding-bottom:0!important}
.afrpa-admin .afrpa-records>.afrpa-user-groups+.subsubsub{margin-top:12px!important}
.afrpa-admin>.afrpa-user-groups{margin-top:12px!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
.afrpa-admin .afrpa-record-toolbar{margin-top:12px}
.afrpa-admin .afrpa-record-toolbar:has(>h3:only-child){display:none}
.afrpa-admin .afrpa-records>.subsubsub+.afrpa-record-toolbar+.afrpa-record-help{margin-top:8px}
/* Context frames follow the tab hierarchy without changing form/list ownership. */
.afrpa-admin{padding-bottom:36px}
.afrpa-admin .afrpa-tabs{position:relative;border-bottom-width:1px}
.afrpa-admin .afrpa-tabs~.afrpa-records{border-color:transparent;padding-bottom:36px}
.afrpa-admin :is(.afrpa-user-groups,.subsubsub){position:relative;border-bottom-width:1px}
.afrpa-admin [data-context-frame]::after{content:"";position:absolute;z-index:0;pointer-events:none;box-sizing:border-box;top:100%;left:0;right:0;height:var(--afrpa-frame-depth,0px);border:1px solid var(--afrpa-frame-color);border-top:0;border-radius:0 0 6px 6px}
.afrpa-admin .afrpa-tabs{--afrpa-frame-color:#176954}
.afrpa-admin :is(.afrpa-user-groups,.subsubsub){--afrpa-frame-color:#ffd400}
.afrpa-admin :is(.afrpa-guide-subnav,.afrpa-records:has(>.afrpa-user-groups)>.subsubsub){--afrpa-frame-color:#171717}
.afrpa-admin [data-context-frame] a:is([aria-current="true"],[aria-current="page"],.current){position:relative;bottom:-1px;z-index:1;border-color:var(--afrpa-frame-color)}
.afrpa-admin .afrpa-records:has(>.afrpa-user-groups)>.subsubsub{margin-left:12px!important;margin-right:12px!important}
.afrpa-admin .afrpa-records:has(>.subsubsub)>:is(.afrpa-record-toolbar,.afrpa-record-help,.afrpa-record-filters,.tablenav,.afrpa-table-scroll,table,[data-pa-order-status]){margin-left:24px!important;margin-right:24px!important}
.afrpa-admin .afrpa-records:has(>.subsubsub)>table{width:calc(100% - 48px)}
.afrpa-admin>.afrpa-user-groups{margin-left:12px!important;margin-right:12px!important}
.afrpa-admin>.afrpa-guide-subnav{margin-left:24px!important;margin-right:24px!important}
.afrpa-admin:has(>.afrpa-records){padding-bottom:0}

/* Keep guide content inside its innermost context frame. */
.afrpa-admin .afrpa-guide-subnav~:is(h3,p,form,.afrpa-box){margin-left:36px;margin-right:36px}
.afrpa-admin:has(>.afrpa-user-groups):not(:has(>.afrpa-guide-subnav))>.afrpa-user-groups~:is(h3,p,form,section,.afrpa-box){margin-left:24px;margin-right:24px}
.afrpa-admin>.afrpa-user-groups~.afrpa-records{margin-left:12px;margin-right:12px}
.afrpa-admin .afrpa-guide-subnav~form{min-width:0;max-width:calc(100% - 72px)}

/* Paired user actions share exact typography and geometry. */
.afrpa-admin .afrpa-record-toolbar :is([data-pa-open="pa-invite"],[data-pa-open="pa-create-user"]){height:40px;min-height:40px;max-height:40px;min-width:230px;padding:0 14px;font-size:14px!important;font-weight:600!important;line-height:20px!important;letter-spacing:normal;text-transform:none}
@media(max-width:600px){.afrpa-admin .afrpa-record-toolbar :is([data-pa-open="pa-invite"],[data-pa-open="pa-create-user"]){min-width:0}}

/* Compact customer sheet: one line per closed permission record. */
.afrpa-admin #pa-user{box-sizing:border-box;padding:16px 20px;max-height:calc(100dvh - 40px);width:min(1280px,calc(100vw - 48px))}
.afrpa-admin #pa-user h2{margin:0 36px 6px 0;font-size:21px;line-height:1.2}
.afrpa-admin #pa-user h3{margin:10px 0 5px;padding:5px 0 0;font-size:15px}
.afrpa-admin #pa-user p{margin:5px 0;font-size:12px;line-height:1.4}
.afrpa-admin #pa-user form{margin:0}
.afrpa-admin #pa-user .afrpa-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;margin:8px 0}
.afrpa-admin #pa-user .afrpa-profile-grid label{margin:0;font-size:12px;line-height:18px;min-width:0}
.afrpa-admin #pa-user :is(input:not([type=checkbox]):not([type=hidden]),select){box-sizing:border-box;min-height:30px;height:30px;padding:2px 7px;font-size:12px;max-width:100%;margin:0}
.afrpa-admin #pa-user .afrpa-phone-fields{display:flex;gap:5px;min-width:0}
.afrpa-admin #pa-user .afrpa-phone-fields>*{min-width:0;width:50%;flex:1}
.afrpa-admin #pa-user .afrpa-permission{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1fr);align-items:center;gap:0 12px;box-sizing:border-box;min-height:36px;margin:2px 0;padding:2px 8px}
.afrpa-admin #pa-user .afrpa-permission>label{display:flex;align-items:center;gap:7px;margin:0;padding:0;font-size:12px;line-height:22px}
.afrpa-admin #pa-user .afrpa-permission details{margin:0;padding:0;border:0;font-size:12px}
.afrpa-admin #pa-user .afrpa-permission summary{padding:4px 0;line-height:22px;cursor:pointer}
.afrpa-admin #pa-user .afrpa-permission:has(details[open]){grid-template-columns:1fr}
.afrpa-admin #pa-user [data-pa-file-status]:empty{display:none}
.afrpa-admin #pa-user .button{min-height:30px;height:30px;padding:0 9px;font-size:12px;line-height:28px;white-space:nowrap}
.afrpa-admin #pa-user>form:has(input[name=op][value=user_save])>.submit{display:none}
.afrpa-admin #pa-user>form:has(input[name=op]:is([value=invite_use],[value=resend])){display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0}
.afrpa-admin #pa-user>form:has(input[name=op]:is([value=invite_use],[value=resend]))>p{flex:1}
.afrpa-admin #pa-user .afrpa-account-actions{margin-top:5px;padding:5px 0;font-size:12px}
.afrpa-admin #pa-user .afrpa-account-actions summary{line-height:24px;cursor:pointer}
@media(max-width:767.98px){.afrpa-admin #pa-user .afrpa-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.afrpa-admin #pa-user .afrpa-permission{grid-template-columns:1fr}.afrpa-admin #pa-user>form:has(input[name=op]:is([value=invite_use],[value=resend])){flex-wrap:wrap}}
.afrpa-letter-tooltip{position:fixed;z-index:2147483647;box-sizing:border-box;max-width:320px;padding:7px 10px;border-radius:4px;background:#173e44;color:#fff;font-size:12px;line-height:1.4;font-weight:400;pointer-events:none;box-shadow:0 3px 12px #0003;white-space:normal}
.afrpa-admin #pa-user .afrpa-account-actions{padding:2px 0!important;margin-top:2px!important;min-height:0!important}
.afrpa-admin #pa-user .afrpa-account-actions>summary{box-sizing:border-box;min-height:0!important;height:28px!important;line-height:28px!important;padding:0 8px!important}
.afrpa-admin #pa-user>.afrpa-close{width:30px;height:30px;min-height:30px;line-height:28px;font-size:23px}
