/* Shared staff UI: intentionally scoped so each application keeps its own background. */
@font-face { font-family:"CrawfordsStaffMask"; src:url("password.ttf?v=20261015-2") format("truetype"); font-style:normal; font-weight:400; font-display:block; }
.csa-account,.csa-dialog { --csa-navy:#16384b; --csa-blue:#234f7d; --csa-teal:#147b9a; --csa-line:#c9d7e2; --csa-ink:#183c55; --csa-muted:#536c80; font:normal 400 15px/1.5 Arial,Helvetica,sans-serif; color:var(--csa-ink); box-sizing:border-box; }
.csa-account *, .csa-dialog * { box-sizing:border-box; }
.csa-account [hidden],.csa-dialog [hidden],.csa-account[hidden] { display:none!important; }
.header-login[hidden],.mobile-login-item a[hidden] { display:none!important; }
.csa-account { display:inline-block; position:relative; text-align:left; vertical-align:middle; min-width:0; max-width:100%; z-index:45; }
.csa-account button,.csa-dialog button,.csa-dialog input { font:inherit; }
.csa-account button,.csa-dialog button { cursor:pointer; }
.csa-account button:disabled,.csa-dialog button:disabled { cursor:wait; opacity:.65; }
.csa-account button:focus-visible,.csa-account a:focus-visible,.csa-dialog button:focus-visible,.csa-dialog a:focus-visible { outline:3px solid #32b6d4; outline-offset:3px; }
.csa-account-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; max-width:100%; min-height:38px; padding:7px 12px; border:1px solid var(--csa-line); border-radius:5px; background:#fff; color:var(--csa-blue); font-size:14px!important; line-height:1.3; }
.csa-account-button:hover { background:#f0f6f9; border-color:#80a7bd; }
.csa-account-button svg { width:18px; height:18px; flex-shrink:0; }
.csa-account-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:200px; }
.csa-account-chevron { font-size:13px; margin-left:6px; }
.csa-account-menu { position:absolute; z-index:120; top:calc(100% + 8px); right:0; width:260px; max-width:calc(100vw - 24px); padding:7px; background:#fff; border:1px solid var(--csa-line); border-radius:7px; box-shadow:0 12px 35px #16384b30; }
.csa-menu-heading { color:var(--csa-muted); font-size:11px; text-transform:uppercase; letter-spacing:1px; font-weight:700; margin:9px 12px 6px; }
.csa-menu-link,.csa-menu-logout { display:block!important; width:100%; padding:10px 12px; margin:0!important; border:0; border-radius:4px; background:transparent; color:var(--csa-ink)!important; text-align:left; text-decoration:none!important; font:normal 400 14px/1.5 Arial,Helvetica,sans-serif!important; white-space:normal; }
.csa-menu-link:hover,.csa-menu-logout:hover { background:#eaf3f8; }
.csa-menu-logout { border-top:1px solid var(--csa-line); border-radius:0; margin-top:6px!important; padding-top:13px; color:#9b352a!important; }
.csa-dialog { position:fixed; width:480px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); padding:0; margin:auto; border:1px solid #a8bfcd; border-radius:10px; background:#fff; box-shadow:0 18px 80px #10273550; overflow:auto; overscroll-behavior:contain; }
.csa-dialog::backdrop { background:rgb(14 37 54 / 62%); }
.csa-dialog-head { position:relative; background:var(--csa-navy); padding:25px 28px 23px; color:#fff; }
.csa-brand { padding-right:35px; color:#8ce4ed; font-size:10px; line-height:1.4; letter-spacing:1.2px; font-weight:700; }
.csa-dialog h2 { margin:8px 35px 5px 0; color:#fff; font:700 27px/1.2 Arial,Helvetica,sans-serif; letter-spacing:-.4px; }
.csa-dialog #csa-subtitle { margin:8px 0 0; color:#e0ebf2; font-size:14px; }
.csa-dialog .csa-close { position:absolute; top:24px; right:22px; height:35px; width:35px; padding:0; border:1px solid #7c9bac; border-radius:4px; background:transparent; color:white; font-size:25px; line-height:1; }
.csa-dialog .csa-close:hover { background:#315266; }
.csa-dialog-body { padding:25px 28px 23px; }
.csa-dialog form { margin:0; padding:0; }
.csa-dialog label { display:block; margin:0 0 7px; font-weight:700; font-size:14px; }
.csa-dialog input[data-csa-field="identity"],.csa-dialog input[data-csa-field="secret"] { display:block; width:100%; min-height:46px; margin:0 0 19px; padding:11px 12px; border:1px solid #9ab3c8; border-radius:4px; background:#fff; color:var(--csa-ink); font-size:16px; line-height:1.4; box-shadow:none; }
.csa-dialog input[data-csa-field="secret"] { font-family:"CrawfordsStaffMask",sans-serif!important; font-weight:400!important; font-style:normal!important; font-variant-ligatures:none; letter-spacing:2px; text-transform:none!important; -webkit-text-security:disc!important; }
.csa-dialog input[data-csa-field="secret"][data-csa-mask-ready="false"] { color:transparent!important; -webkit-text-fill-color:transparent!important; caret-color:transparent; }
.csa-dialog .csa-font-retry { margin-bottom:18px; }
.csa-dialog input:focus-visible { outline:3px solid #0b96bc45; outline-offset:1px; border-color:#0b85ab; }
.csa-dialog .csa-remember { display:flex; align-items:flex-start; gap:10px; margin:4px 0 5px; font-weight:400; cursor:pointer; }
.csa-dialog .csa-remember input { flex:none; width:18px; height:18px; min-width:18px; min-height:18px; max-width:18px; max-height:18px; padding:0; margin:2px 0 0; appearance:auto; background:none; border:0; border-radius:0; box-shadow:none; accent-color:var(--csa-teal); }
.csa-dialog .csa-session-note { margin:7px 0 22px 28px; color:var(--csa-muted); font-size:12px; line-height:1.5; }
.csa-dialog-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; padding-top:17px; border-top:1px solid var(--csa-line); }
.csa-dialog .csa-primary,.csa-dialog .csa-cancel { padding:10px 20px; min-height:44px; border:1px solid var(--csa-blue); border-radius:4px; background:var(--csa-blue); color:#fff; font-weight:700; font-size:14px; }
.csa-dialog .csa-primary:hover { background:#173d65; }
.csa-dialog .csa-cancel { background:white; color:var(--csa-blue); border-color:#9ab3c8; }
.csa-dialog .csa-cancel:hover { background:#eef5fa; }
.csa-dialog .csa-error { padding:11px 13px; margin:0 0 18px; border:1px solid #e6aaa3; border-radius:4px; background:#fff2ef; color:#a52b21; font-size:14px; overflow-wrap:anywhere; }
.csa-dialog .csa-access-message { margin:0 0 20px; overflow-wrap:anywhere; }
.csa-denied-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.csa-dialog .csa-home,.csa-dialog .csa-required-back { color:var(--csa-blue); text-decoration:underline; text-underline-offset:3px; }
.csa-dialog .csa-required-back { display:inline-block; font-size:12px; margin-top:21px; }
.csa-dialog .csa-switch { padding:9px 12px; background:#fff; color:var(--csa-blue); border:1px solid #9ab3c8; border-radius:4px; }
.csa-dialog .csa-retry-view p { margin:0 0 17px; }
@media(max-width:480px) {
  .csa-dialog { max-height:calc(100dvh - 20px); }
  .csa-dialog-head { padding:22px 20px 20px; }
  .csa-dialog-body { padding:22px 20px 20px; }
  .csa-dialog h2 { font-size:25px; }
  .csa-dialog .csa-close { right:16px; top:20px; }
  .csa-account-name { max-width:150px; }
}
@media(prefers-reduced-motion:reduce) { .csa-account *, .csa-dialog * { scroll-behavior:auto!important; } }
