/* Administrator role selection; isolated from authenticated dashboard styles. */
body.ds-app.vis-admin-access-page {
    padding: 24px; min-height: 100svh; display: grid; align-items: center;
    background: linear-gradient(rgba(20,55,29,.08),rgba(20,55,29,.08)), url('../background1.png') center / cover fixed;
}
body.ds-app.vis-admin-access-page .vis-access-shell {
    width: min(1040px,100%); margin: 16px auto; padding: 24px 26px 14px;
    background: linear-gradient(125deg,rgba(255,254,233,.88),rgba(237,250,255,.8) 70%,rgba(231,242,218,.83));
    border: 1px solid rgba(255,255,255,.9); border-radius: 28px;
    box-shadow: 0 24px 64px rgba(18,50,29,.2), inset 0 1px 0 white;
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
body.ds-app.vis-admin-access-page .ds-app-header {
    width: 100%; height: 52px; padding: 0; margin: 0 0 20px; background: transparent;
    border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none;
}
body.ds-app.vis-admin-access-page .ds-app-header > .vis-brand { padding: 0; background: transparent; box-shadow: none; gap: 12px; }
body.ds-app.vis-admin-access-page .vis-brand-mark { width: 48px; height: 48px; border-radius: 14px; }
body.ds-app.vis-admin-access-page .vis-brand-name { font-size: 26px; line-height: 1.15; letter-spacing: -.025em; color: #083f28; }
body.ds-app.vis-admin-access-page .vis-brand-tagline { font-size: 12px; color: #4e5b59 !important; }
.access-composition { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,2fr); gap: 22px; align-items: stretch; }
body.ds-app.vis-admin-access-page .vis-access-heading {
    padding: 34px 0 18px 10px; margin: 0; text-align: left; background: transparent; border: 0;
}
body.ds-app.vis-admin-access-page .vis-eyebrow { font-size: 11px; letter-spacing: .14em; color: #176b39; margin: 0 0 12px; }
body.ds-app.vis-admin-access-page .vis-access-heading h1 { font-size: 34px; line-height: 1.14; letter-spacing: -.025em; margin: 0 0 16px; color: #092e36; }
body.ds-app.vis-admin-access-page .vis-access-heading h1 span { display: block; color: #07672c; }
body.ds-app.vis-admin-access-page .vis-access-heading h1::after { content: ''; display: block; width: 46px; height: 3px; background: #138338; margin-top: 15px; }
body.ds-app.vis-admin-access-page .vis-access-heading > p:last-child { color: #52615c; font-size: 14px; line-height: 1.5; }
body.ds-app.vis-admin-access-page .vis-access-grid { gap: 16px; }
body.ds-app.vis-admin-access-page .vis-access-card {
    position: relative; isolation: isolate; overflow: hidden; min-height: 390px; padding: 20px;
    gap: 11px; border: 1px solid rgba(255,255,255,.92); border-radius: 18px;
    background: linear-gradient(130deg,rgba(255,255,255,.95),rgba(236,255,224,.84));
    box-shadow: 0 10px 24px rgba(38,95,50,.07); backdrop-filter: none;
}
body.ds-app.vis-admin-access-page .vis-access-card.is-superadmin { background: linear-gradient(130deg,rgba(248,253,255,.97),rgba(217,241,255,.88)); }
.access-illustration { position: absolute; z-index: -1; top: 0; right: -12px; width: 52%; height: 190px; object-fit: contain; object-position: top right; pointer-events: none; opacity: .67; }
body.ds-app.vis-admin-access-page .vis-access-icon { width: 52px; height: 52px; border-radius: 15px; color: #07802c; background: #e0f2d7; }
body.ds-app.vis-admin-access-page .vis-access-icon svg { width: 29px; height: 29px; }
body.ds-app.vis-admin-access-page .is-superadmin .vis-access-icon { color: #0067ef; background: #c5e6ff; }
body.ds-app.vis-admin-access-page .vis-access-copy { gap: 6px; }
body.ds-app.vis-admin-access-page .vis-access-copy h2 { font-size: 23px; letter-spacing: -.03em; color: #102421; }
body.ds-app.vis-admin-access-page .vis-access-copy p { max-width: 225px; color: #4a5958; font-size: 13px; line-height: 1.4; }
.access-features { list-style: none; padding: 12px 0 0; margin: 0 0 10px; border-top: 1px solid rgba(57,127,76,.1); display: grid; gap: 9px; }
.access-features li { display: flex; align-items: center; gap: 10px; color: #182c29; font-size: 13px; line-height: 1.3; }
.access-feature-icon { flex: 0 0 20px; width: 20px; height: 20px; color: #087e29; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.is-superadmin .access-feature-icon { color: #0067ef; }
body.ds-app.vis-admin-access-page .vis-access-card .vis-button { min-height: 52px; padding: 10px; border: 0; border-radius: 12px; font-size: 15px; color: white; background: linear-gradient(120deg,#00a63e,#007420); box-shadow: 0 7px 13px rgba(0,143,48,.2); }
body.ds-app.vis-admin-access-page .vis-access-card.is-superadmin .vis-button { background: linear-gradient(110deg,#079ff5,#0057fb); box-shadow: 0 9px 16px rgba(0,112,237,.22); }
body.ds-app.vis-admin-access-page .vis-access-back { margin: 10px 0 0 10px; padding: 4px 0; background: transparent; font-size: 12px; box-shadow: none; }
@media (max-width: 900px) {
    .access-composition { grid-template-columns: 1fr; gap: 24px; }
    body.ds-app.vis-admin-access-page .vis-access-heading { padding: 0; max-width: 650px; }
    body.ds-app.vis-admin-access-page .vis-access-heading h1 span { display: inline; }
    body.ds-app.vis-admin-access-page .vis-access-heading h1 { font-size: 36px; margin-bottom: 14px; }
    body.ds-app.vis-admin-access-page .vis-access-heading h1::after { margin-top: 14px; }
    body.ds-app.vis-admin-access-page .vis-access-card { min-height: 390px; }
}
@media (max-width: 600px) {
    body.ds-app.vis-admin-access-page { padding: 12px; }
    body.ds-app.vis-admin-access-page .vis-access-shell { padding: 22px 18px 16px; margin: 12px auto; border-radius: 26px; }
    body.ds-app.vis-admin-access-page .ds-app-header { gap: 10px; margin-bottom: 24px; }
    body.ds-app.vis-admin-access-page .ds-app-header > .vis-brand { gap: 8px; }
    body.ds-app.vis-admin-access-page .vis-brand-mark { width: 40px; height: 40px; border-radius: 12px; }
    body.ds-app.vis-admin-access-page .vis-brand-name { font-size: 20px; }
    body.ds-app.vis-admin-access-page .ds-app-header select { width: 120px; font-size: 14px; }
    body.ds-app.vis-admin-access-page .vis-access-heading h1 { font-size: 28px; }
    body.ds-app.vis-admin-access-page .vis-access-card { padding: 18px; min-height: 380px; }
    body.ds-app.vis-admin-access-page .vis-access-card .vis-button { font-size: 15px; min-height: 52px; }
    body.ds-app.vis-admin-access-page .vis-access-back { margin-left: 0; }
}
