/*
 * DEV-2.01 | Settings Navigation Hub
 * Hub = navigation only. Child settings pages = independent Workspace routes.
 */

.v2-theme .settings-hub,
.v2-theme .settings-child {
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 24px 28px 28px;
    overflow: auto;
    color: var(--v2-color-ink-900);
    background: transparent;
}

.v2-theme .settings-hub__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--v2-space-5);
    margin-bottom: 22px;
}

.v2-theme .settings-hub__eyebrow,
.v2-theme .settings-child__eyebrow {
    margin-bottom: 5px;
    color: var(--v2-color-brand-700);
    font-size: var(--v2-font-size-11);
    font-weight: var(--v2-font-weight-bold);
    letter-spacing: 0.04em;
}

.v2-theme .settings-hub__header h1,
.v2-theme .settings-child__heading h1 {
    margin: 0;
    color: var(--v2-color-ink-950);
    font-size: 27px;
    font-weight: var(--v2-font-weight-bold);
    line-height: 1.15;
}

.v2-theme .settings-hub__header p,
.v2-theme .settings-child__heading p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--v2-color-ink-600);
    font-size: var(--v2-font-size-13);
    line-height: 1.6;
}

.v2-theme .settings-hub__status {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #cfe8e8;
    border-radius: var(--v2-radius-pill);
    background: var(--v2-color-brand-050);
    color: var(--v2-color-brand-800);
    font-size: var(--v2-font-size-11);
    font-weight: var(--v2-font-weight-bold);
}

.v2-theme .settings-hub__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.v2-theme .settings-hub__card {
    min-width: 0;
    min-height: 174px;
    display: flex;
    flex-direction: column;
    padding: 19px 20px 17px;
    border: 1px solid var(--v2-color-border);
    border-radius: var(--v2-radius-xl);
    background: var(--v2-color-surface);
    color: var(--v2-color-ink-900);
    box-shadow: var(--v2-shadow-card);
    text-align: left;
    font: inherit;
    cursor: pointer;
    transition:
        transform var(--v2-motion-normal) var(--v2-ease-standard),
        border-color var(--v2-motion-normal) var(--v2-ease-standard),
        box-shadow var(--v2-motion-normal) var(--v2-ease-standard);
}

.v2-theme .settings-hub__card:hover {
    transform: translateY(-2px);
    border-color: #a9d7dc;
    box-shadow: 0 13px 28px rgba(11, 41, 64, 0.095);
}

.v2-theme .settings-hub__card:focus-visible {
    outline: var(--v2-focus-outline);
    outline-offset: 3px;
}

.v2-theme .settings-hub__card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v2-space-3);
    margin-bottom: 15px;
}

.v2-theme .settings-hub__icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--v2-color-brand-100);
    color: var(--v2-color-brand-700);
}

.v2-theme .settings-hub__icon .v2-ui-icon {
    width: 24px;
    height: 24px;
    stroke-width: 1.75;
}

.v2-theme .settings-hub__icon--a02 {
    background: var(--v2-color-info-bg);
    color: var(--v2-color-info);
}
.v2-theme .settings-hub__icon--a03 {
    background: var(--v2-color-success-bg);
    color: var(--v2-color-success);
}
.v2-theme .settings-hub__icon--a04 {
    background: var(--v2-color-purple-bg);
    color: var(--v2-color-purple);
}
.v2-theme .settings-hub__icon--a05 {
    background: var(--v2-color-warning-bg);
    color: var(--v2-color-warning);
}
.v2-theme .settings-hub__icon--a06 {
    background: #edf2ff;
    color: #586fd9;
}
.v2-theme .settings-hub__icon--a07 {
    background: #eef8f8;
    color: #277f88;
}


.v2-theme .settings-hub__card-title {
    color: var(--v2-color-ink-950);
    font-size: var(--v2-font-size-18);
    font-weight: var(--v2-font-weight-bold);
    line-height: 1.25;
}

.v2-theme .settings-hub__card-description {
    margin-top: 7px;
    color: var(--v2-color-ink-600);
    font-size: var(--v2-font-size-12);
    line-height: 1.55;
}

.v2-theme .settings-hub__card-footer {
    margin-top: auto;
    padding-top: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: var(--v2-color-brand-800);
    font-size: var(--v2-font-size-11);
    font-weight: var(--v2-font-weight-semibold);
}

.v2-theme .settings-hub__card-arrow {
    font-size: 19px;
    line-height: 1;
    transition: transform var(--v2-motion-fast) var(--v2-ease-standard);
}

.v2-theme .settings-hub__card:hover .settings-hub__card-arrow {
    transform: translateX(3px);
}

.v2-theme .settings-child__header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--v2-color-border);
}

.v2-theme .settings-child__heading {
    min-width: 0;
    padding-top: 1px;
}



@media (max-width: 1180px) {
    .v2-theme .settings-hub__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .v2-theme .settings-hub,
    .v2-theme .settings-child {
        padding: 18px 16px 22px;
    }

    .v2-theme .settings-hub__grid {
        grid-template-columns: 1fr;
    }

    .v2-theme .settings-hub__header,
    .v2-theme .settings-child__header {
        flex-direction: column;
    }
}

/* DEV-6.01 | Admin Hub cards */
.admin-hub__grid{align-content:start}
.admin-hub__card:first-child{grid-column:span 2}
@media(max-width:900px){.admin-hub__card:first-child{grid-column:span 1}}

/* DEV-6.02A | Account & Permission display-only */
.admin-account[hidden]{display:none!important}
.admin-account{padding:18px;color:#123f54;background:#f7fafb;min-height:100%}
.admin-account__header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.admin-account__header>button{padding:9px 12px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}.admin-account__header h1{margin:2px 0 0}.admin-account__header p{margin:4px 0 0;color:#748995;font-size:11px}.admin-account__mode{margin-left:auto;padding:5px 9px;border-radius:999px;background:#fff2d9;color:#956116;font-size:9px;font-weight:900}
.admin-account__layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start}.admin-account__list,.admin-account__detail{border:1px solid #d5e4e9;border-radius:12px;background:#fff}.admin-account__list{padding:12px}.admin-account__list-head{display:flex;justify-content:space-between;align-items:center}.admin-account__list-head h2,.admin-account__section h2{margin:0;font-size:15px}.admin-account__list-head p,.admin-account__section-head p{margin:2px 0 0;color:#82949c;font-size:9px}.admin-account__list-head button{padding:7px 9px;border:0;border-radius:7px;background:#087a89;color:#fff;font-weight:800}.admin-account__search input{width:100%;margin:10px 0;padding:9px;border:1px solid #d2e2e6;border-radius:8px}.admin-account__users{display:grid;gap:6px}.admin-account__user{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px;border:1px solid #e0eaed;border-radius:9px;background:#fff;text-align:left;color:#244f60;opacity:1!important}.admin-account__user.is-active{border-color:#6eb9b0;background:#eff9f6}.admin-account__avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dceff0;font-size:10px;font-weight:900}.admin-account__user strong,.admin-account__user small,.admin-account__user em{display:block}.admin-account__user small{margin-top:2px;color:#82959d;font-size:9px}.admin-account__user em{margin-top:3px;color:#087a89;font-size:8px;font-style:normal;font-weight:800}.admin-account__user i{font-size:8px;font-style:normal;color:#2d866f}
.admin-account__detail{padding:12px;display:grid;gap:10px}.admin-account__section{padding:12px;border:1px solid #e0eaed;border-radius:10px}.admin-account__section-head{display:flex;justify-content:space-between;gap:10px}.admin-account__section-head>span{font-size:8px;font-weight:900;color:#087a89}.admin-account__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.admin-account__fields label{font-size:9px;color:#5d7883}.admin-account__fields input,.admin-account__fields select{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid #d5e3e7;border-radius:7px;background:#f8fafb;color:#45636f}
.admin-account__roles,.admin-account__environment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.admin-account__environment{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-account__roles label,.admin-account__environment label{display:flex;gap:8px;padding:9px;border:1px solid #dce8eb;border-radius:8px;background:#fbfcfd}.admin-account__roles strong,.admin-account__roles small,.admin-account__environment strong,.admin-account__environment small{display:block}.admin-account__roles small,.admin-account__environment small{margin-top:2px;color:#82959d;font-size:8px}.admin-account__permission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.admin-account__permission-grid span{padding:8px;border-radius:7px;background:#f1f4f5;color:#829198;font-size:9px;text-align:center}.admin-account__permission-grid span.is-on{background:#e5f5f1;color:#1e7164;font-weight:850}.admin-account__actions{display:flex;justify-content:flex-end;gap:8px}.admin-account__actions button{padding:8px 12px;border:1px solid #d6e2e5;border-radius:8px;background:#fff}.admin-account__actions button.is-primary{border-color:#087a89;background:#087a89;color:#fff}
@media(max-width:1000px){.admin-account__layout{grid-template-columns:1fr}.admin-account__roles{grid-template-columns:1fr}.admin-account__permission-grid{grid-template-columns:repeat(2,1fr)}}


/* DEV-6.02B | Account & Permission Step 1 UI */
.admin-account__roles--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-account__roles label.is-on,
.admin-account__app-access label.is-on{border-color:#79bbb2;background:#eef9f6}
.admin-account__status-pill.is-enabled{padding:4px 8px;border-radius:999px;background:#e6f5ef;color:#287760}
.admin-account__app-access{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.admin-account__app-access label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #dce8eb;border-radius:8px;background:#fbfcfd}
.admin-account__app-access strong,.admin-account__app-access small{display:block}
.admin-account__app-access small{margin-top:2px;color:#82959d;font-size:8px}
.admin-account__app-access b{font-size:8px;color:#83939a}
.admin-account__app-access label.is-on b{color:#267462}
.admin-account__entry-result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;align-items:center;margin-top:9px;padding:9px 11px;border-radius:8px;background:#edf6f8}
.admin-account__entry-result span{grid-row:1 / span 2;font-size:8px;font-weight:900;color:#087a89}
.admin-account__entry-result strong{font-size:10px;color:#234f60}
.admin-account__entry-result small{font-size:8px;color:#718892}
.admin-account__permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.admin-account__permission-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e0e8eb;border-radius:8px;background:#fbfcfd}
.admin-account__permission-row strong,.admin-account__permission-row small{display:block}
.admin-account__permission-row strong{font-size:10px}
.admin-account__permission-row small{margin-top:2px;font-size:8px;color:#84959d}
.admin-account__permission-row em{font-size:7px;font-style:normal;color:#84959d}
.admin-account__permission-row b{min-width:34px;text-align:center;padding:3px 6px;border-radius:999px;font-size:8px}
.admin-account__permission-row.is-allowed b{background:#e5f5ef;color:#267560}
.admin-account__permission-row.is-denied b{background:#f3f5f6;color:#7f8e94}
.admin-account__permission-row.is-limited b{background:#fff2d9;color:#996514}
.admin-account__permission-row--important{border-color:#e8c4c1;background:#fff8f7}
.admin-account__permission-row--important strong{color:#8f3d38}
.admin-account__permission-row--important b{background:#f7e4e2!important;color:#9a433e!important}
.admin-account__override-table{margin-top:10px;border:1px solid #e0e8eb;border-radius:8px;overflow:hidden}
.admin-account__override-head,.admin-account__override-row{display:grid;grid-template-columns:minmax(0,1.4fr) .7fr .7fr .7fr;align-items:center}
.admin-account__override-head{padding:7px 10px;background:#edf3f5;color:#607984;font-size:8px;font-weight:900}
.admin-account__override-row{padding:9px 10px;border-top:1px solid #e5ecee;font-size:9px}
.admin-account__override-row strong,.admin-account__override-row small{display:block}
.admin-account__override-row small{font-size:7px;color:#84959d;margin-top:2px}
.admin-account__override-row .is-no{color:#9a433e;font-weight:850}
.admin-account__override-row--important{background:#fff9f8}
.admin-account__actions{align-items:center}
.admin-account__actions>span{margin-right:auto;color:#7e9199;font-size:8px}
@media(max-width:1120px){
  .admin-account__roles--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-account__app-access{grid-template-columns:1fr}
  .admin-account__permission-list{grid-template-columns:1fr}
}


/* DEV-6.04 | Account CRUD functional states */
.admin-account__empty{padding:18px 10px;text-align:center;color:#7f929a;font-size:10px}
.admin-account__error{padding:9px 11px;border:1px solid #e8b9b4;border-radius:8px;background:#fff5f4;color:#91443e;font-size:10px;font-weight:750}
.admin-account__user{cursor:pointer}
.admin-account__user:disabled{cursor:default}
.admin-account__user.is-disabled{opacity:.62!important;background:#fafbfb}
.admin-account__status-pill.is-disabled{padding:4px 8px;border-radius:999px;background:#f0f2f3;color:#7a898f}
.admin-account__fields input:not(:disabled),.admin-account__fields select:not(:disabled){background:#fff;color:#244f60}
.admin-account__temp-password{grid-column:1 / -1}
.admin-account__roles label,.admin-account__environment label{cursor:pointer}
.admin-account__roles input,.admin-account__environment input{margin-top:2px}
.admin-account__permission-row.is-na b{background:#eef1f2;color:#87949a}
.admin-account__permission-row.is-na{opacity:.72}
.admin-account__actions button:not(:disabled){cursor:pointer}
.admin-account__actions button:disabled{opacity:.5}

/* DEV-6.05 | Permission Override */
.admin-account__override-row select{width:100%;min-width:96px;padding:6px 7px;border:1px solid #d3e1e5;border-radius:7px;background:#fff;color:#355b69;font-size:9px}
.admin-account__override-action{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:8px 10px;border-top:1px solid #e5ecee;background:#fbfcfd}
.admin-account__override-action span{margin-right:auto;color:#7d9098;font-size:8px}
.admin-account__override-action button{padding:7px 10px;border:0;border-radius:7px;background:#087a89;color:#fff;font-size:9px;font-weight:850;cursor:pointer}
.admin-account__override-action button:disabled{opacity:.45;cursor:not-allowed}


/* DEV-6.05A | Password Reset */
.admin-account__password-input{
    position:relative;
    display:block;
    width:100%;
    margin-top:4px;
}
.admin-account__password-input input{
    width:100%;
    margin-top:0!important;
    padding-right:42px!important;
}
.admin-account__password-eye{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    width:32px;
    height:28px;
    padding:0;
    border:0;
    border-radius:6px;
    background:transparent;
    color:#426978;
    font-size:15px;
    line-height:1;
    cursor:pointer;
}
.admin-account__password-eye:hover,
.admin-account__password-eye.is-visible{
    background:#e7f2f4;
}
.admin-account__credential-tools{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #e5ecee;
}
.admin-account__credential-tools[hidden],
.admin-account__password-reset[hidden]{
    display:none!important;
}
.admin-account__credential-tools button{
    padding:7px 11px;
    border:1px solid #b8d0d7;
    border-radius:7px;
    background:#fff;
    color:#176678;
    font-size:9px;
    font-weight:850;
    cursor:pointer;
}
.admin-account__credential-tools span{
    color:#7f929a;
    font-size:8px;
}
.admin-account__password-reset{
    margin-top:10px;
    padding:11px;
    border:1px solid #cddfe4;
    border-radius:9px;
    background:#f8fbfc;
}
.admin-account__password-reset-head{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:9px;
}
.admin-account__password-reset-head div{
    min-width:0;
}
.admin-account__password-reset-head strong,
.admin-account__password-reset-head small{
    display:block;
}
.admin-account__password-reset-head strong{
    font-size:11px;
    color:#214f60;
}
.admin-account__password-reset-head small{
    margin-top:2px;
    color:#7f929a;
    font-size:8px;
}
.admin-account__password-reset-head>button{
    margin-left:auto;
    border:0;
    background:transparent;
    color:#6e8791;
    font-size:9px;
    cursor:pointer;
}
.admin-account__password-reset>label{
    display:block;
    color:#5d7883;
    font-size:9px;
}
.admin-account__password-reset-footer{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:9px;
}
.admin-account__password-reset-footer span{
    margin-right:auto;
    color:#7a8d95;
    font-size:8px;
}
.admin-account__password-reset-footer button{
    padding:8px 11px;
    border:0;
    border-radius:7px;
    background:#087a89;
    color:#fff;
    font-size:9px;
    font-weight:850;
    cursor:pointer;
}
.admin-account__password-reset-footer button:disabled,
.admin-account__credential-tools button:disabled{
    opacity:.45;
    cursor:not-allowed;
}


/* DEV-6.06A | Account page scroll + visible actions */
.admin-account{
    box-sizing:border-box;
    height:calc(100dvh - 46px);
    max-height:calc(100vh - 46px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.admin-account__header{
    flex:0 0 auto;
}
.admin-account__layout{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
.admin-account__list,
.admin-account__detail{
    min-height:0;
    max-height:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}
.admin-account__detail{
    padding-bottom:72px;
}
.admin-account__actions{
    position:sticky;
    bottom:0;
    z-index:12;
    margin:0 -12px -12px;
    padding:11px 12px;
    border-top:1px solid #d6e3e7;
    background:rgba(255,255,255,.97);
    box-shadow:0 -8px 18px rgba(24,71,88,.08);
    backdrop-filter:blur(5px);
}
.admin-account__actions button.is-primary{
    min-width:96px;
    box-shadow:0 3px 9px rgba(8,122,137,.16);
}
@media(max-width:1000px){
    .admin-account{
        height:calc(100dvh - 46px);
    }
    .admin-account__layout{
        overflow-y:auto;
    }
    .admin-account__list,
    .admin-account__detail{
        max-height:none;
        overflow:visible;
    }
}
