.access-shell{display:grid;gap:1.35rem}.access-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:.25rem}.access-heading h1{margin:.3rem 0 .35rem;font-size:clamp(1.65rem,2.7vw,2.45rem);letter-spacing:-.035em}.access-heading p,.access-card-heading p,.access-danger-zone p{margin:0;color:var(--text-secondary)}.access-eyebrow{color:var(--color-primary);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.access-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.access-metric{display:grid;gap:.15rem;padding:1rem 1.15rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--bg-card),var(--bg-surface));box-shadow:0 12px 28px rgba(0,0,0,.08)}.access-metric strong{font-size:1.55rem;color:var(--text-primary)}.access-metric span{color:var(--text-secondary);font-size:.78rem}.access-layout{display:grid;grid-template-columns:minmax(245px,.72fr) minmax(300px,.9fr) minmax(390px,1.38fr);gap:1rem;align-items:start}.access-card{min-width:0;padding:1.25rem;border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:0 18px 45px rgba(0,0,0,.1)}.access-card-heading{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1.15rem}.access-card-heading h2,.access-detail-header h2{margin:0 0 .25rem;font-size:1.15rem}.access-card-heading p{font-size:.82rem;line-height:1.45}.access-card-icon{display:grid;flex:0 0 2.15rem;width:2.15rem;height:2.15rem;place-items:center;border:1px solid color-mix(in srgb,var(--color-primary) 45%,transparent);border-radius:.7rem;color:var(--color-primary);font-size:1.15rem;font-weight:800;background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.access-form{display:grid;gap:.9rem}.access-form label{display:grid;gap:.38rem;color:var(--text-secondary);font-size:.76rem;font-weight:700}.access-form input,.access-form select{width:100%;padding:.72rem .78rem;border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;color:var(--text-primary);background:var(--bg-body);transition:border-color .2s,box-shadow .2s}.access-form input:focus,.access-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.access-form small{font-weight:400;color:var(--text-secondary)}.access-button{padding:.68rem .9rem;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-surface);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;transition:transform .2s,border-color .2s,filter .2s}.access-button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--color-primary)}.access-button:disabled{opacity:.42;cursor:not-allowed}.access-button--primary{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.access-button--secondary{color:var(--color-primary)}.access-button--warning{color:#e8a74a}.access-button--danger{color:#ef7777}.access-button--ghost{background:transparent}.access-feedback{min-height:1.2rem;margin:0;color:var(--color-primary);font-size:.76rem}.access-user-list{display:grid;gap:.55rem;max-height:560px;overflow:auto;padding-right:.2rem}.access-user{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;padding:.75rem;border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-primary);text-align:left;background:var(--bg-surface);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.access-user:hover,.access-user.is-selected{border-color:color-mix(in srgb,var(--color-primary) 55%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,var(--bg-surface));transform:translateX(2px)}.access-avatar{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;color:var(--color-primary);font-size:.72rem;font-weight:900;background:color-mix(in srgb,var(--color-primary) 14%,var(--bg-body))}.access-user-copy,.access-user-meta{display:grid;min-width:0;gap:.2rem}.access-user-copy strong,.access-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-user-copy small{color:var(--text-secondary);font-size:.7rem}.access-user-meta{justify-items:end}.access-user-meta em{color:var(--text-secondary);font-size:.68rem;font-style:normal}.access-status{display:inline-flex;align-items:center;width:max-content;padding:.25rem .48rem;border:1px solid currentColor;border-radius:99px;font-size:.64rem;font-style:normal;font-weight:800}.access-status--active{color:#4ecf92}.access-status--disabled{color:#e89a59}.access-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.access-facts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}.access-facts div{padding:.65rem;border-radius:var(--radius-md);background:var(--bg-surface)}.access-facts dt{color:var(--text-secondary);font-size:.67rem;text-transform:uppercase}.access-facts dd{margin:.25rem 0 0;font-size:.78rem}.access-form--inline{grid-template-columns:1fr 1fr}.access-form--inline .access-button,.access-form--inline .access-feedback{grid-column:1/-1}.access-form h3,.access-danger-zone h3{margin:0;font-size:.9rem}.access-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.access-divider{height:1px;margin:1.15rem 0;background:var(--border-color)}.access-danger-zone{display:grid;gap:.9rem}.access-danger-zone p{margin-top:.25rem;font-size:.76rem}.access-actions{display:flex;flex-wrap:wrap;gap:.55rem}.access-empty{padding:1rem;color:var(--text-secondary);text-align:center}.access-empty--large{display:grid;min-height:260px;place-items:center}.access-alert{padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-lg)}.access-alert--danger{border-color:rgba(239,119,119,.35);color:#ef9a9a;background:rgba(239,119,119,.08)}@media(max-width:1250px){.access-layout{grid-template-columns:minmax(250px,.75fr) minmax(390px,1.25fr)}.access-detail-card{grid-column:2;grid-row:1/3}}@media(max-width:850px){.access-heading{align-items:flex-start}.access-metrics{grid-template-columns:1fr 1fr}.access-layout{grid-template-columns:1fr}.access-detail-card{grid-column:auto;grid-row:auto}}@media(max-width:560px){.access-heading{display:grid}.access-metrics{grid-template-columns:1fr}.access-form--inline,.access-password-grid,.access-facts{grid-template-columns:1fr}.access-card{padding:1rem}.access-user{grid-template-columns:auto minmax(0,1fr)}.access-user-meta{grid-column:2;justify-items:start}}

/* RC1 access-management visual hierarchy and theme compatibility. */
.access-shell {
    --color-primary: var(--s-gold-light, #f0cc33);
    --text-primary: var(--s-text-primary, #ffffff);
    --text-secondary: #bdc9d7;
    --bg-body: var(--s-bg-primary, #07111d);
    --bg-card: #0d1b2a;
    --bg-surface: #14263a;
    --border-color: rgba(168, 195, 222, .28);
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 18px;
}

.access-heading {
    padding: .35rem .45rem .8rem;
    border-bottom: 1px solid rgba(240, 204, 51, .22);
}

.access-heading p,
.access-card-heading p,
.access-danger-zone p {
    color: #c5d0dc;
}

.access-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(168, 195, 222, .3);
    background: linear-gradient(155deg, #102238 0%, #0b1828 72%);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}

.access-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--access-section-accent, var(--color-primary));
    content: "";
}

.access-associations-card { --access-section-accent: #55b8ff; }
.access-create-card { --access-section-accent: #f0cc33; }
.access-users-card { --access-section-accent: #55d8c2; }
.access-detail-card { --access-section-accent: #a891ff; }

.access-card-heading h2,
.access-detail-header h2,
.access-form h3,
.access-danger-zone h3 {
    color: #ffffff;
}

.access-card-icon {
    border-color: color-mix(in srgb, var(--access-section-accent, var(--color-primary)) 60%, transparent);
    color: var(--access-section-accent, var(--color-primary));
    background: color-mix(in srgb, var(--access-section-accent, var(--color-primary)) 15%, #0b1828);
}

.access-metric {
    position: relative;
    overflow: hidden;
    border-color: rgba(168, 195, 222, .26);
    background: linear-gradient(145deg, #11243a, #0c1929);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

.access-metric::after {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #55b8ff;
    content: "";
}

.access-metric:nth-child(2)::after { background: #55d8c2; }
.access-metric:nth-child(3)::after { background: #e8a74a; }
.access-metric:nth-child(4)::after { background: #a891ff; }
.access-metric span { color: #c5d0dc; }

.access-form label {
    color: #d9e2eb;
    font-size: .8rem;
}

.access-form input,
.access-form select {
    box-sizing: border-box;
    min-height: 43px;
    border-color: #415b73;
    color: #f8fbff;
    background: #07131f;
}

.access-form input::placeholder { color: #8194a8; opacity: 1; }
.access-form select option { color: #f8fbff; background: #0b1828; }

.access-form input:hover,
.access-form select:hover {
    border-color: #63809d;
}

.access-form input:disabled,
.access-form select:disabled {
    border-color: rgba(168, 195, 222, .18);
    color: #94a4b5;
    background: #101c29;
    opacity: 1;
}

.access-button {
    border-color: #4a627a;
    color: #f7f9fc;
    background: #172b40;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .14);
}

.access-button--primary {
    border-color: #d9b900;
    color: #111820;
    background: linear-gradient(135deg, #f0cc33, #d8b000);
}

.access-button--secondary {
    border-color: rgba(85, 184, 255, .48);
    color: #91ceff;
    background: rgba(85, 184, 255, .1);
}

.access-button--warning {
    border-color: rgba(232, 167, 74, .48);
    color: #ffc878;
    background: rgba(232, 167, 74, .1);
}

.access-button--danger {
    border-color: rgba(239, 119, 119, .5);
    color: #ffaaaa;
    background: rgba(239, 119, 119, .1);
}

.access-button--ghost {
    border-color: rgba(168, 195, 222, .34);
    background: rgba(255, 255, 255, .035);
}

.access-button:hover:not(:disabled) {
    border-color: #f0cc33;
    filter: brightness(1.12);
}

.access-user {
    border-color: rgba(168, 195, 222, .2);
    background: #112338;
}

.access-user:hover,
.access-user.is-selected {
    border-color: rgba(240, 204, 51, .68);
    background: linear-gradient(135deg, rgba(240, 204, 51, .13), #152a40);
}

.access-user-copy small,
.access-user-meta em,
.access-facts dt,
.access-empty,
.access-form small {
    color: #aebdcd;
}

.access-avatar {
    border: 1px solid rgba(85, 184, 255, .34);
    color: #91ceff;
    background: #0a1a2a;
}

.access-facts div {
    border: 1px solid rgba(168, 195, 222, .18);
    background: #112338;
}

.access-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(168, 195, 222, .36), transparent);
}

.access-danger-zone {
    padding: .9rem;
    border: 1px solid rgba(239, 119, 119, .22);
    border-radius: var(--radius-lg);
    background: rgba(239, 119, 119, .045);
}
