.entra-login[hidden], .entra-login [hidden] { display: none !important; }
.entra-login { box-sizing: border-box; margin: 1.5rem auto; padding: clamp(1.5rem, 4vw, 2.5rem); max-width: 72rem; border: 1px solid #dfe6ef; border-radius: 22px; color: #122333; background: #fff; font: inherit; box-shadow: 0 16px 54px #12233308; }
.entra-login h2 { margin: 0 0 .55rem; font-size: 1.3rem; line-height: 1.3; letter-spacing: normal; }
.entra-login p { margin: .6rem 0; font-size: 1rem; line-height: 1.6; }
.entra-login .entra-login__boundary { color: #596b7d; font-size: .875rem; }
.entra-login .entra-login__identity { padding: .7rem; border-left: 3px solid #256c4b; background: #e6f3eb; overflow-wrap: anywhere; }
.entra-login button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin-top: .65rem; padding: .8rem 1.25rem; border: 1px solid transparent; border-radius: 12px; color: #fff; background: #326ce0; font: inherit; font-size: 1rem; font-weight: 650; cursor: pointer; }
.entra-login button:hover:not(:disabled) { background: #2458ba; }
.entra-login [data-entra-logout] { background: #fff; color: #526579; border-color: #dfe6ef; }
.entra-login [data-entra-logout]:hover:not(:disabled) { background: #f3f6fa; }
.entra-login button:focus-visible { outline: 3px solid #307bc5; outline-offset: 3px; }
.entra-login button:disabled { cursor: wait; opacity: .7; }
.entra-login button:disabled:not(:active) { cursor: not-allowed; }
.entra-login__methods { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: stretch; margin-top: 1.5rem; }
.entra-login__method { flex: 1 1 18rem; min-width: 0; padding: 1.35rem; border: 1px solid #e2e9f1; border-radius: 16px; background: #f8fafd; }
.entra-login__direct { background: #f1faf7; border-color: #cfe7df; }
.entra-login__direct [type="submit"] { background: #13694f; }
.entra-login__direct label { display: block; margin-bottom: .45rem; font-weight: 600; }
.entra-login__direct input { display: block; box-sizing: border-box; width: 100%; min-height: 48px; padding: .75rem; border: 1px solid #97aaa4; border-radius: 10px; background: #fff; color: #172535; font: inherit; }
.entra-login__direct input:focus-visible { outline: 3px solid #307bc5; outline-offset: 3px; }
.entra-login__direct input:disabled { background: #eef2f8; }
.entra-login [data-entra-session-note] { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #d8e0eb; }
.entra-login [role="status"] { color: #65321b; }
.entra-login[data-entra-site="lelinskaya"]:not([data-entra-portal]) { width: calc(100% - 2rem); }
.cloud-page { margin: 0; background: #f3f6fa; color: #122333; font: 16px/1.6 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cloud-page * { box-sizing: border-box; }
.cloud-page a { color: #20538f; text-underline-offset: 3px; }
.cloud-page a:focus-visible { outline: 3px solid #307bc5; outline-offset: 4px; }
.cloud-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem max(1.5rem, calc((100vw - 1040px) / 2)); background: #050914; color: #fff; }
.cloud-topbar strong { font-size: 1.1rem; letter-spacing: .02em; }
.cloud-topbar span { border-left: 1px solid #73849c; margin-left: 1rem; padding-left: 1rem; font-weight: 400; }
.cloud-topbar a { color: #fff; }
.cloud-main { max-width: 1040px; margin: 2.5rem auto; padding: 0 1.5rem; }
.cloud-demo { margin: 0 0 1.5rem; color: #596b7d; font-size: .875rem; }
.cloud-demo strong { display: inline-block; margin-right: .65rem; letter-spacing: .08em; }
.cloud-heading h1 { margin: 0; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; letter-spacing: -.035em; }
.cloud-heading p { margin: .65rem 0 1.75rem; color: #415977; }
.cloud-main .entra-login { width: 100%; margin: 1.5rem 0; background: #fff; }
.cloud-main [data-entra-title], .cloud-main [data-entra-separate] { display: none; }
.cloud-main [data-entra-intro] { font-weight: 650; font-size: 1.125rem; margin: 0; }
.entra-login__code { margin: 1.25rem 0; padding: 1.25rem; max-width: 26rem; border: 1px solid #cfe7df; border-radius: 16px; background: #effaf7; }
.entra-login__code span { display: block; font-size: .875rem; color: #405e59; }
.entra-login__code strong { display: block; font: 650 clamp(1.7rem, 5vw, 2.25rem)/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; color: #0c463c; }
.cloud-workspace { margin-top: 2rem; border-top: 1px solid #d8e0eb; padding-top: 1.5rem; }
.cloud-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.cloud-resource { padding: 1.25rem; border: 1px solid #d8e0eb; border-top: 3px solid #2864af; border-radius: 4px; background: #f6f8fc; }
.cloud-resource h3 { margin: .5rem 0; font-size: 1.1rem; line-height: 1.35; }
.cloud-resource .cloud-resource__label { color: #526581; font-size: .8125rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.cloud-footer { border-top: 1px solid #cdd7e5; padding-top: 1.25rem; color: #435974; font-size: .85rem; }
@media (max-width: 720px) { .cloud-topbar { padding: 1rem; flex-wrap: wrap; } .cloud-topbar span { display: block; margin: 0; padding: 0; border: 0; font-size: .85rem; } .cloud-main { margin-top: 1.5rem; padding: 0 1rem; } .cloud-resource-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .entra-login { margin: 1rem .75rem; padding: 1rem; } .entra-login button { width: 100%; justify-content: center; } .entra-login__direct { padding-left: 0; padding-top: 1rem; border-left: 0; border-top: 1px solid #d8e0eb; } }
