/* Internal access uses the shared SHIMIN typography and colors. */
.role-gateway{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;padding:24px;background:radial-gradient(ellipse at 15% 0%,#126574 0%,var(--navy,#102d43) 52%,#081e2a 100%);color:var(--navy);font-family:var(--font-body);}
.role-gateway[hidden],.admin-access[hidden]{display:none;}
.role-shell{width:min(545px,100%);padding:28px;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:18px;background:var(--panel,#fff);box-shadow:0 18px 64px #0005;text-align:center;box-sizing:border-box;}
.role-brand{display:flex;align-items:center;justify-content:center;padding:18px 24px;margin-bottom:20px;border-radius:12px;background:var(--navy);}
.role-brand img{display:block;width:min(425px,100%);height:auto;}
.role-shell .eyebrow{display:block;color:var(--teal);font-family:var(--font-display);font-size:9.5px;letter-spacing:.12em;}
.role-shell h1{margin:7px 0 22px;color:var(--navy);font:700 24px/1.2 var(--font-display);}
.role-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.role-card{display:flex;align-items:center;justify-content:center;gap:12px;min-height:68px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel,#fff);color:var(--navy);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;}
.role-card:hover,.role-card[aria-pressed=true]{border-color:var(--teal);background:#e8f7f5;box-shadow:0 3px 12px #00888116;}
.role-card.admin:hover,.role-card.admin[aria-pressed=true]{border-color:#e65100;background:#fff1e9;}
.role-card svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.role-card.admin svg{stroke:#e65100;}
.role-card b{font:700 14px/1.25 var(--font-display);}
.admin-access{display:grid;gap:12px;margin:18px 0 0;text-align:left;}
.admin-access label{display:grid;gap:5px;color:var(--navy);font:500 11px/1.3 var(--font-body);}
.admin-access input{width:100%;height:36px;min-width:0;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:400 12px var(--font-body);box-sizing:border-box;}
.admin-access button{height:36px;border:0;border-radius:8px;background:#ce3b08;color:#fff;font:700 12px var(--font-display);cursor:pointer;}
.admin-access button:disabled{opacity:.5;cursor:wait;}
.admin-access small{color:var(--muted);font-size:9.5px;text-align:center;}
.role-card:focus-visible,.admin-access input:focus-visible,.admin-access button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
.role-message{margin-top:8px;color:#b8411a;font:500 10px/1.4 var(--font-body);}
.role-message:empty{display:none;}
.role-shell footer{padding-top:14px;margin-top:8px;border-top:1px solid var(--line);color:var(--muted);font:400 9.5px/1.3 var(--font-body);}
.role-switch{height:32px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid #dce7ea;border-radius:8px;background:#fff;color:#476472;font-size:11px;font-weight:800;cursor:pointer;}
.role-switch svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;}
.viewer-mode .rail nav button[data-view="config"]{display:none;}
.viewer-mode .config-only{display:none!important;}
.viewer-mode .source-readonly{margin-left:auto;}
.publish-viewer{background:#009e9c!important;border-color:#009e9c!important;color:#fff!important;}
.publish-viewer:disabled{opacity:.45;}
.published-note{display:block;margin-top:9px;color:#08777a;font-size:12px;font-weight:700;}
.license-users-r30{width:100%;border-collapse:collapse;font-size:var(--card-description-size,9.5px);}
.license-users-r30 th,.license-users-r30 td{padding:8px;text-align:left;border-bottom:1px solid var(--line);}
.license-form-r30{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:end;}
.license-form-r30[hidden]{display:none;}
.license-form-r30 label{display:grid;gap:4px;min-width:120px;flex:1;font-size:9.5px;}
.license-form-r30 input,.license-form-r30 select{height:32px;border:1px solid var(--line);border-radius:6px;padding:0 8px;font:inherit;color:var(--navy);background:var(--panel);}
@media(max-width:480px){.role-gateway{padding:12px;}.role-shell{padding:20px;}.role-brand{padding:16px;}.role-shell h1{font-size:21px;}.role-card{gap:8px;}}
