/* Authentication: a private entry point with no business or module previews. */
.access-entry{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:56px 24px;background:radial-gradient(ellipse at 50% 0%,#eae9fa80,transparent 60%),#f7f8fa;color:#1d2130}
.access-entry-panel{width:100%;max-width:456px;min-width:0;display:flex;flex-direction:column;align-items:center}
.access-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}
.access-brand>strong{font-size:19px;letter-spacing:.12em;font-weight:800;color:#25283b}
.access-brand .brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#7271e4,#5353c7);box-shadow:inset 0 1px 1px #ffffff50,0 4px 12px #5b5bd618;font-size:23px;line-height:1}
.access-auth-card{width:100%;padding:36px;border:1px solid #e4e5ec;border-radius:24px;background:#fff;box-shadow:0 2px 4px #20203f02,0 16px 48px -24px #29254624}
.access-auth-heading{margin-bottom:30px}
.access-auth-card h1{font-size:30px;line-height:1.25;letter-spacing:-.045em;font-weight:800;color:#212536}
.access-auth-description{font-size:13px;color:#727789;margin:10px 0 0;line-height:1.65}
.access-auth-card form{display:grid;gap:20px}
.access-auth-card .field{font-size:12px;gap:9px;font-weight:650;color:#383d4d}
.access-auth-card .field input{min-height:52px;border-radius:12px;border-color:#dde0e8;background:#fcfcfe;padding:13px 15px;font-size:14px;color:#272c3c;transition:border-color .15s,box-shadow .15s,background .15s}
.access-auth-card .field input::placeholder{color:#9298a7}
.access-auth-card .field input:hover{border-color:#c7cada}
.access-auth-card .field input:focus-visible{outline:0;border-color:#7877d6;background:#fff;box-shadow:0 0 0 4px #5b5bd613}
.access-auth-card .field small{font-size:11px;font-weight:400;line-height:1.65;color:#727789}
.access-auth-card .access-password input{padding-right:54px!important}
.access-auth-card .access-password .access-reveal{width:44px;height:44px;right:4px;border-radius:8px;color:#767d90}
.access-auth-card .form-error{font-size:12px;line-height:1.65}
.access-auth-card .access-submit{width:100%;min-height:52px;margin-top:4px;border-radius:12px;justify-content:center;gap:12px;background:#5b5bd6;box-shadow:inset 0 1px 0 #ffffff1c,0 3px 6px #5b5bd618;font-size:13px;font-weight:700}
.access-auth-card .access-submit:hover{background:#4c4cbe;box-shadow:0 4px 12px #5b5bd625}
.access-auth-card .access-submit:disabled{box-shadow:none}
.access-submit svg{width:17px;height:17px;stroke-width:1.8}
.access-login-help{font-size:11px;color:#727789;text-align:center;margin:27px 0 0;line-height:1.85}
.access-login-help span{display:block;color:#666d80}
.access-entry-foot{display:flex;align-items:center;gap:7px;margin-top:24px;color:#798092;font-size:11px;line-height:1.5}
.access-entry-foot svg{width:13px;height:13px;stroke-width:1.6}
.access-inline-note{border:1px solid #e5ddc4;background:#fdfaf1;border-radius:10px;padding:12px 14px;color:#846b32;font-size:12px;line-height:1.6;margin-bottom:22px}
/* Shared controls used by account settings and user management. */
.access-eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:#7c7499;margin-bottom:10px;display:block}
.access-emblem{display:grid;place-items:center;width:48px;height:48px;background:#f1efff;border:1px solid #e5e0ff;border-radius:13px;color:var(--violet);margin-bottom:22px}.access-emblem svg{width:23px;height:23px}
.access-password{display:flex;position:relative}.access-password input{padding-right:48px!important;min-width:0}.access-password .access-reveal{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:6px;color:#9390a8;background:transparent}.access-reveal:hover{background:#f1eff9;color:var(--violet)}.access-reveal svg{width:17px;height:17px}
.access-success{background:#f1faf5;color:#26735a;border:1px solid #d8eee3;border-radius:9px;padding:12px 16px;font-size:13px}
@media(max-width:520px){.access-entry{padding:32px 20px}.access-brand{margin-bottom:26px}.access-auth-card{padding:28px 24px;border-radius:20px}.access-auth-card h1{font-size:27px}.access-auth-heading{margin-bottom:26px}.access-auth-card .field input{font-size:16px}.access-entry-foot{margin-top:22px}}
@media(max-height:680px){.access-entry{padding-top:28px;padding-bottom:28px}.access-brand{margin-bottom:22px}}
.access-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 26px}.access-stats>div{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:13px;padding:19px 20px;border:1px solid var(--border);border-radius:12px;background:#fff}.access-stat-icon{grid-row:span 2;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#668979;background:#eef5f0;align-self:center}.access-stat-icon.pending{background:#fbf3e4;color:#b7914d}.access-stat-icon.admin{background:#f0ecfa;color:#8871b2}.access-stats strong{font-size:23px;line-height:1.25;font-weight:750}.access-stats>div>span:last-child{font-size:11px;margin-top:4px;color:var(--muted)}.access-users-card .panel-bottom{font-size:11px}.access-users-card .panel-bottom svg{color:#9891ab}.access-avatar{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:11px;background:#f3f2f6;border:1px solid #e9e7ef;color:#82768e;font-size:12px;font-weight:750}.access-avatar.is-admin{color:#7660b2;background:#f1edfa;border-color:#e3daf6}.access-you{font-size:9px;padding:2px 5px;border:1px solid #e2def0;border-radius:4px;background:#f7f5fc;color:#9283a9;vertical-align:middle;margin-left:4px;font-weight:600}.access-role-name{font-size:12px;font-weight:650}.access-users-card .cell-secondary{font-size:11px}.access-pending{background:#fcf8ed;color:#a07a31;border-color:#f1e6c9}.access-last-seen{font-size:11px;color:#7e788b}.access-policy-note{display:flex;gap:13px;align-items:flex-start;padding:21px 4px;margin-bottom:10px}.access-policy-note>span{color:#a19bb0;padding-top:2px}.access-policy-note strong{font-size:12px;font-weight:650;color:#60556f}.access-policy-note p{font-size:11px;color:#8c8298;margin-top:4px;line-height:1.8}.access-audit{margin-top:14px}.access-audit summary{display:flex;align-items:center;gap:10px;list-style:none;padding:17px 21px;background:#fff;cursor:pointer;font-size:12px;font-weight:650}.access-audit summary::-webkit-details-marker{display:none}.access-audit summary span{font-size:10px;color:#8b819f;border:1px solid #e8e3ef;padding:1px 6px;border-radius:5px}.access-audit summary svg{margin-left:auto;color:#938ba3;width:15px;height:15px}.access-audit[open] summary svg{transform:rotate(180deg)}.access-audit-rows{border-top:1px solid var(--border);padding:4px 21px 10px}.access-audit-rows>div{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;padding:12px 0;border-bottom:1px solid #eeecf2}.access-audit-rows>div:last-child{border:0}.access-audit-rows strong{font-size:11px;font-weight:600}.access-audit-rows small{display:block;color:#9990a5;margin-top:2px}.access-audit-rows time{font-size:10px;color:#9b90a7;text-align:right}
.access-user-dialog{width:min(800px,calc(100vw - 32px))}.access-user-dialog .dialog-header{padding:23px 27px;align-items:center}.access-user-dialog .dialog-header h2{font-size:21px}.access-user-dialog .dialog-header p{font-size:12px}.access-user-dialog .dialog-header .access-eyebrow{font-size:9px;margin-bottom:6px}.access-user-body{padding:24px 27px;gap:23px;max-height:calc(100dvh - 245px);background:#fff}.access-user-body .field{font-size:12px;gap:7px}.access-user-body .field input{font-size:13px}.access-user-body .field small{font-size:10px}.access-user-state{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid #eeebf3;padding-bottom:21px;font-size:11px;color:#8b8498}.access-user-state>.status{font-size:10px}.access-toggle{margin-left:auto;display:flex;gap:7px;align-items:center;font-size:11px;color:#756982;font-weight:600;cursor:pointer}.access-toggle input,.access-permission input{accent-color:var(--violet);width:16px;height:16px;flex:none;cursor:pointer}.access-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.access-section-title h3{font-size:13px;font-weight:750;margin:0}.access-section-title>span{font-size:10px;color:#8e829e}.access-role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.access-role-option{border:1px solid #e5e1eb;border-radius:10px;padding:12px;text-align:left;background:#fff;min-height:86px}.access-role-option>span{display:block;font-size:12px;font-weight:700;color:#5d526d}.access-role-option small{display:block;font-size:10px;line-height:1.55;font-weight:400;color:#998da6;margin-top:5px}.access-role-option:hover{background:#fcfbff;border-color:#c6bde7}.access-role-option[aria-pressed=true]{border-color:#9485d7;background:#f7f4ff;box-shadow:0 0 0 1px #9485d72b}.access-role-option[aria-pressed=true]>span{color:#7660bb}.access-role-option[aria-pressed=true] small{color:#9686b1}.access-permission-help{font-size:11px;line-height:1.7;color:#95889e;max-width:570px;margin:-2px 0 15px}.access-admin-banner{display:flex;gap:12px;align-items:flex-start;border:1px solid #e6dff6;background:#f8f5fd;border-radius:10px;color:#8d75b2;padding:14px 15px;margin-bottom:12px}.access-admin-banner svg{width:20px;height:20px;margin-top:2px}.access-admin-banner strong{display:block;font-size:12px;color:#765d9f}.access-admin-banner span{display:block;font-size:11px;margin-top:3px;line-height:1.7}.access-permission-group{border:1px solid #e7e3ec;border-radius:10px;overflow:hidden;background:#fff;margin-top:8px}.access-permission-group summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;background:#fff}.access-permission-group summary::-webkit-details-marker{display:none}.access-permission-group summary>span:first-child{flex:1;min-width:0}.access-permission-group summary strong{font-size:12px;display:block;font-weight:650}.access-permission-group summary small{font-size:10px;color:#a096a9;display:block;margin-top:2px;line-height:1.5}.access-permission-group summary svg{width:14px;height:14px;color:#b1a7bc}.access-permission-group[open] summary svg{transform:rotate(180deg)}.access-group-count{font-size:10px;font-weight:650;color:#aaa2b6;border-radius:5px;background:#f7f6f9;padding:3px 7px;white-space:nowrap}.access-group-count.has-access{background:#f0edf9;color:#9079b9}.access-permission-items{border-top:1px solid #eeebf4;padding:4px 16px 6px;background:#fdfcfe;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.access-permission{display:flex;gap:10px;align-items:flex-start;padding:13px 0;min-width:0;cursor:pointer}.access-permission input{margin:2px 0 0;flex:none}.access-permission input:disabled{cursor:default;opacity:.6}.access-permission>span{min-width:0}.access-permission strong{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11px;font-weight:600}.access-permission em{font-style:normal;font-size:8px;font-weight:500;color:#9b8aaf;background:#f0edf6;border-radius:4px;padding:2px 4px}.access-permission small{display:block;font-size:10px;font-weight:400;color:#a398ad;line-height:1.6;margin-top:3px}.access-required-by{display:block;margin-top:5px;color:#9784ad}.access-permission.is-inherited{cursor:default}.access-permission.is-inherited strong{color:#8c7e9a}.access-reset-section{display:flex;gap:12px;align-items:center;border-top:1px solid #eeebf3;padding-top:21px}.access-reset-section>span{color:#ad9cbe}.access-reset-section>div{flex:1}.access-reset-section strong{font-size:11px;font-weight:650}.access-reset-section p{font-size:10px;color:#a297ac;line-height:1.6;margin-top:3px;max-width:390px}.access-reset-section .button{font-size:11px;min-height:36px;padding:8px 11px}.access-user-dialog .dialog-actions{padding:17px 27px}.access-user-dialog .dialog-actions .button{min-height:40px;font-size:12px}.access-user-dialog .save-note{font-size:10px}.access-activation-dialog{max-width:480px}.access-invitation{padding:30px;display:flex;flex-direction:column;align-items:stretch;gap:16px}.access-invitation .access-emblem{margin:0 auto 2px}.access-invitation h2{font-size:22px;text-align:center;letter-spacing:-.02em}.access-invitation>p{font-size:12px;color:#8c7e99;text-align:center;line-height:1.8}.access-invitation .field{font-size:11px;margin-top:4px}.access-link-input{font-size:11px!important;color:#867391!important;background:#fbf9fe!important;text-overflow:ellipsis}.access-copy-status:empty{display:none}.access-copy-status{font-size:11px;color:#408064;text-align:center;margin-top:-7px}.access-link-note{display:flex;gap:9px;font-size:10px;color:#a99cb4;line-height:1.8}.access-link-note svg{width:15px;height:15px;margin-top:2px}.access-profile-grid{display:grid;grid-template-columns:280px minmax(340px,540px);gap:24px;align-items:start}.access-profile-summary{background:#fff;padding:28px;text-align:center}.access-profile-summary .access-avatar{margin:0 auto 17px;width:56px;height:56px;border-radius:16px;font-size:19px;background:#f2edfc;color:#8c72b7;border-color:#e8def8}.access-profile-summary h2{font-size:17px}.access-profile-summary>p{font-size:12px;color:#9e8daa;overflow-wrap:anywhere;margin:6px 0 17px}.access-profile-summary .status{font-size:10px}.access-profile-summary .access-profile-note{font-size:11px;margin:24px 0 0;line-height:1.8;padding-top:20px;border-top:1px solid #f0eaf5}.access-profile-password{padding:28px;background:#fff}.access-profile-password h2{font-size:17px}.access-profile-password .description{font-size:12px}.access-profile-password form{display:grid;gap:20px;margin-top:24px}.access-profile-password .field{font-size:12px}.access-profile-password .field small{font-size:11px;line-height:1.7}.access-profile-password form>.button{justify-self:start;font-size:12px}.access-profile-password .field input{font-size:13px}
@media(max-width:1050px){.access-stats>div{padding:16px;column-gap:11px}.access-stats>div>span:last-child{font-size:10px}.access-users-card td,.access-users-card th{padding-left:16px;padding-right:16px}.access-profile-grid{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:700px){.access-stats{gap:8px;margin-bottom:20px}.access-stats>div{padding:13px;display:flex;flex-direction:column;align-items:flex-start}.access-stat-icon{display:none}.access-stats strong{font-size:22px}.access-stats>div>span:last-child{font-size:10px;line-height:1.5;max-width:100px}.access-profile-grid{grid-template-columns:1fr}.access-profile-summary{display:none}.access-profile-password{padding:22px}.access-role-options{grid-template-columns:1fr 1fr}.access-permission-items{grid-template-columns:1fr}.access-section-title{align-items:flex-start;flex-wrap:wrap;gap:3px}.access-section-title>span{font-size:9px}.access-user-dialog .dialog-header{padding:20px}.access-user-body{padding:20px;max-height:calc(100dvh - 240px)}.access-user-dialog .dialog-actions{padding:15px 20px}.access-user-state>span:nth-child(2){font-size:10px}.access-toggle{margin-left:0}.access-reset-section{flex-wrap:wrap;gap:10px}.access-reset-section>div{min-width:180px}.access-reset-section>.button{margin-left:30px}.access-invitation{padding:26px 22px}.access-audit-rows>div{align-items:flex-start}.access-audit-rows time{max-width:110px}.access-users-card .entity small{font-size:11px}.access-users-card .entity strong{font-size:13px}.access-policy-note{padding:18px 3px}.access-policy-note p{font-size:10px}.access-users-card .panel-bottom{font-size:10px}.access-profile-password form>.button{width:100%}}
[data-access-hidden="true"]{display:none!important}.access-link-disabled{color:inherit;cursor:default;text-decoration:none!important}.access-start{display:grid;place-items:center;min-height:100dvh}.sidebar-footer.access-session{padding:20px 24px 16px}.access-session-user{display:flex;align-items:center;gap:10px;border-radius:8px;min-width:0}.access-session-user>span:last-child{min-width:0}.access-session-avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;border:1px solid #e3dcf2;background:#f1ecfb;color:#8c71b9;font-weight:750;font-size:13px}.access-session-user strong{font-size:12px;color:#6b5c7e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;margin:0}.access-session-user small{display:block;font-size:10px;color:#a093ae;margin-top:2px}.access-session-user:hover strong{color:var(--violet)}.access-session>.text-button{font-size:10px;font-weight:500;color:#a596b3;margin-left:44px;padding:6px 0;min-height:24px;margin-top:4px}
/* Administrators can set a password directly or prepare an activation link. */
.access-credentials{border-bottom:1px solid #eeebf3;padding-bottom:22px}.access-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;margin:0 0 16px;padding:0;min-width:0}.access-methods>label{display:flex;gap:9px;align-items:center;border:1px solid #e5e1eb;background:#fff;padding:12px 13px;border-radius:9px;cursor:pointer;min-width:0}.access-methods>label:has(input:checked){border-color:#9a8cdb;background:#f8f5ff}.access-methods input{width:15px;height:15px;accent-color:var(--violet);flex:none;margin:0}.access-methods strong{display:block;font-size:11px;font-weight:650;color:#665677}.access-methods small{display:block;font-size:10px;color:#9e8aac;margin-top:2px;line-height:1.6}.access-credential-hint{font-size:10px;color:#947ea4;line-height:1.7;margin:8px 0 0}.access-password-fields .field-row{gap:16px}.access-ready-login{border:1px solid #e7dff0;border-radius:9px;background:#faf7fd;padding:16px;text-align:center}.access-ready-login>span{display:block;font-size:10px;color:#a594b3;margin-bottom:5px}.access-ready-login>strong{font-size:15px;font-weight:650;overflow-wrap:anywhere;color:#736084}.access-reset-dialog{max-width:610px}.access-reset-dialog .dialog-header h2{font-size:20px}.access-reset-dialog .dialog-header p{font-size:12px}.access-reset-dialog .form-body{gap:18px;padding:24px 28px}.access-reset-dialog .field{font-size:12px}.access-reset-dialog .field input{font-size:13px}.access-reset-dialog .access-credentials{padding-bottom:0;border:0}.access-reset-dialog .form-note{font-size:11px;line-height:1.7}.access-reset-dialog .dialog-actions .button{font-size:12px;min-height:40px}
@media(max-width:700px){.access-methods{grid-template-columns:1fr}.access-methods>label{padding:10px 12px}.access-methods>label span{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.access-methods small{margin:0}.access-password-fields .field-row{grid-template-columns:1fr;gap:14px}.access-reset-dialog .form-body{padding:20px}.access-reset-dialog .dialog-header{padding:20px}.access-reset-dialog .dialog-actions{padding:16px 20px}}
