/* MFA and administration are separate from the compact invoice workspace. */
.local-auth-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #c6ccd5;border-radius:12px;padding:24px;background:#fff;color:#001e46;font-family:inherit}
.local-auth-dialog::backdrop{background:rgba(0,30,70,.45)}
.local-auth-dialog form,.local-auth-dialog label{display:grid;gap:12px;min-width:0}
.local-auth-dialog input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font-size:1rem}
.local-auth-dialog h2{margin:0;font-size:1.3rem}.local-auth-dialog p{line-height:1.5;overflow-wrap:anywhere}
.local-auth-dialog button{min-height:44px}.local-auth-dialog button[type=submit]{background:#001e46;color:white}
.security-card label:has(input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px}
.security-card{width:min(100%,660px);margin:2rem auto;padding:1.5rem;background:white;border:1px solid #d4e1ef;border-radius:12px;overflow-wrap:anywhere}
.security-card h1{font-size:1.6rem;margin:.65rem 0}.security-card p{line-height:1.55}
.security-card form{display:grid;gap:.75rem;margin:1rem 0}.security-card label{display:grid;gap:.4rem;line-height:1.5}
.security-card input:not([type=checkbox]){width:100%;min-width:0;font-size:1rem}.security-card button{min-height:44px}
.security-enrollment{display:grid;justify-items:center;gap:.75rem}.security-enrollment img{max-width:100%;height:auto;image-rendering:pixelated}.security-enrollment label{width:100%}
.security-enrollment input{font-family:monospace}.security-error{color:#96251e}.security-success{color:#17532b}
.security-recovery{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;padding-left:1.4rem;font-family:monospace;font-size:1rem;overflow-wrap:anywhere}
.security-card input[type=checkbox],.security-admin input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:#00315a}
.security-admin{min-height:0;overflow:auto;padding:1rem;background:white;border:1px solid #d4e1ef;border-radius:8px}
.security-admin h1{font-size:1.45rem;margin:0 0 .5rem}.security-admin h2{font-size:1.15rem}.security-admin p{line-height:1.5;overflow-wrap:anywhere}
.security-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.security-tabs [aria-current=page]{background:#00315a;color:white}
.security-admin-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:1.5rem}
.security-admin-grid>*{min-width:0}.security-user-row{display:grid;gap:.35rem;width:100%;text-align:left;white-space:normal;margin-bottom:.5rem;padding:.75rem!important;overflow-wrap:anywhere}
.security-admin form{display:grid;gap:.75rem}.security-admin label{display:grid;gap:.35rem;font-size:.9rem}.security-admin input:not([type=checkbox]),.security-admin select{width:100%;min-width:0}
.security-options{margin:0;padding:.75rem;border:1px solid #d4e1ef;border-radius:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.security-options legend{padding:0 .4rem}.security-check{display:flex!important;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:.55rem!important;overflow-wrap:anywhere;min-width:0}
.security-region-form{max-width:600px}.security-audit{padding-left:1.4rem}.security-audit li{border-bottom:1px solid #d4e1ef;padding:.6rem 0;overflow-wrap:anywhere}.security-audit pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}
@media(max-width:1150px){.security-admin{overflow:visible}.security-admin button{min-height:44px}.security-admin input,.security-admin select{font-size:1rem}}
@media(max-width:600px){.security-card{padding:1rem;margin:1rem auto}.security-admin-grid{grid-template-columns:minmax(0,1fr)}.security-options{grid-template-columns:minmax(0,1fr)}.security-admin{padding:.8rem}.security-tabs button{flex:1 1 auto}.security-admin h1{font-size:1.3rem}}
.user-view-active{--page:#fff6e3;--tint:#fff0cb;--border:#d4ad64;--blue:#915200;--blue-hover:#61420a;background:var(--page)}
.user-view-active .topbar,.user-view-active .section-heading{background:#fff0cb}
.user-view-banner{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1rem;padding:.45rem 1rem;background:#744300;color:#fff;box-shadow:0 2px 0 #dfaa3b;z-index:6;overflow-wrap:anywhere;font-size:.8rem}
.user-view-banner button{margin-left:auto;white-space:normal;min-height:36px;color:#583300;border-color:#d4ad64}
@media(max-width:1150px){.user-view-banner{position:sticky;top:0}.user-view-banner button{min-height:44px}}
/* Administration workspace only. Invoice screens and authentication are untouched. */
#module-administration.security-admin{background:#f5f6f8;color:#001e46;border:0;padding:0}
.portal-active #module-administration.security-admin .security-admin-grid{grid-template-columns:minmax(250px,.7fr) minmax(0,1.65fr);gap:20px;align-items:start}
.portal-active #module-administration.security-admin #security-users,.portal-active #module-administration.security-admin #security-user{background:#fff;border:1px solid #d8dce3;border-radius:12px;padding:20px;min-width:0}
.portal-active #module-administration.security-admin #security-users .security-user-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 10px!important;color:#001e46;white-space:normal}
.portal-active #module-administration.security-admin #security-users .security-user-row[aria-current=true]{background:#f1f3f6;border-left:3px solid #001e46}
#module-administration .security-user-row span{font-size:.85rem;color:#414c5c}
.portal-active #module-administration.security-admin .security-user-row small{font-size:.8rem;color:#414c5c;line-height:1.5}
#module-administration .security-user-tools{display:grid;gap:10px;padding-bottom:12px;border-bottom:1px solid #d8dce3}
#module-administration .security-user-tools .p-user-search{margin:0}
#module-administration .security-help{margin:8px 0;color:#414c5c;font-size:.85rem;line-height:1.5}
#module-administration .security-account-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 0}
#module-administration .security-user-header{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
#module-administration .security-user-header h2{margin:0 0 6px}
#module-administration .security-user-header p{margin:0}
#module-administration .security-access-editor{display:grid;gap:0}
#module-administration .security-access-editor h3{margin:4px 0 0;font-size:1rem}
#module-administration .security-access-row{display:grid;grid-template-columns:minmax(155px,1fr) auto minmax(150px,210px);gap:8px 14px;border:0;border-top:1px solid #d8dce3;border-radius:0;padding:10px 0;background:#fff;min-width:0;align-items:center}
#module-administration .security-access-heading{display:flex;flex-direction:column;align-items:start;gap:5px;margin-bottom:0}
#module-administration .security-access-row>.security-access-details{margin:0;padding:0;border:0}
#module-administration .security-access-row>.security-access-details[open]{grid-column:1/-1;padding:10px 0}
#module-administration .security-access-row>.security-access-details summary{font-size:.8rem;min-height:0}
#module-administration .security-access-linked{grid-template-columns:minmax(155px,1fr) minmax(0,2fr);min-height:54px}
#module-administration .security-access-state{font-size:.8rem;padding:4px 9px;border-radius:5px;background:#f0f1f3;color:#414c5c}
#module-administration .security-access-state[data-level=read]{background:#e7f3ed;color:#155b35}
#module-administration .security-access-state[data-level=edit]{background:#001e46;color:#fff}
#module-administration .security-access-state[data-level=custom]{background:#fff0d3;color:#764600}
#module-administration .security-levels{display:flex;flex-wrap:wrap;gap:6px}
#module-administration .security-level{display:flex;flex-direction:row;align-items:center;gap:7px;background:#f7f7f8;color:#001e46;border:1px solid #c6ccd5;border-radius:6px;padding:8px;min-height:36px;white-space:normal}
#module-administration .security-level:has(input:checked){border-color:#001e46;background:#001e46;color:#fff}
#module-administration .security-level:has(input:disabled){opacity:.65}
#module-administration .security-level input{width:17px;height:17px;min-height:17px;flex:0 0 17px;accent-color:#001e46;margin:0}
#module-administration .security-access-details{margin-top:12px;padding:10px 0;border-top:1px solid #d8dce3}
#module-administration .security-access-details summary{font-size:.85rem;font-weight:600;color:#001e46;line-height:1.5;min-height:32px}
#module-administration .security-access-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
#module-administration .security-check{display:flex!important;flex-direction:row-reverse;justify-content:flex-end;flex-wrap:wrap;line-height:1.5;align-items:start;gap:8px}
#module-administration .security-check small{flex-basis:100%;padding-left:28px}
#module-administration .security-linked-access{border-top:1px solid #d8dce3;padding:12px 0;background:#fff;font-size:.85rem}
#module-administration .security-change-review{border-top:1px solid #d8dce3;padding:14px 0;overflow-wrap:anywhere}
#module-administration .security-change-review ul{margin:10px 0;padding-left:20px;font-size:.85rem;line-height:1.6}
#module-administration .security-save-bar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 0;background:#fff;position:sticky;bottom:0;border-top:1px solid #d8dce3;z-index:2}
#module-administration .security-user-form>.danger{justify-self:start}
#module-administration .security-access-linked>.security-help{max-width:360px;margin:0;justify-self:start}
.kw-access-dialog{color:#001e46;background:#fff;width:min(900px,calc(100vw - 32px));max-width:900px}
.kw-access-dialog .kw-access-levels{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.kw-access-dialog .kw-access-levels label{display:flex;flex-direction:row;gap:8px;align-items:center;padding:10px 12px;border:1px solid #c6ccd5;border-radius:6px;background:#f5f6f8;min-height:42px}
.kw-access-dialog .kw-access-levels label:has(input:checked){color:#fff;background:#001e46;border-color:#001e46}
.kw-access-dialog .kw-access-levels input{width:18px;height:18px;min-height:18px;margin:0;accent-color:#001e46}
.kw-access-dialog .kw-access-summary{padding:12px 0;color:#414c5c;line-height:1.5;font-size:.85rem}
@media(max-width:1100px){.portal-active #module-administration.security-admin .security-admin-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){#module-administration .security-access-row{grid-template-columns:minmax(150px,1fr) auto}#module-administration .security-access-row>.security-access-details{grid-column:1/-1}}
@media(max-width:720px){#module-administration .security-access-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.portal-active #module-administration.security-admin #security-users,.portal-active #module-administration.security-admin #security-user{padding:14px}#module-administration .security-account-basics,#module-administration .security-access-options{grid-template-columns:minmax(0,1fr)}#module-administration .security-levels{flex-direction:column}#module-administration .security-level{min-height:44px}#module-administration .security-access-heading{align-items:start;flex-direction:column}#module-administration .security-save-bar>*{flex:1 1 120px}.kw-access-dialog .kw-access-levels{flex-direction:column}}
