#btnAzureDynamic {
    position: fixed;
    right: 24px;
    bottom: 136px;
    z-index: 850;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 14px;
    background: linear-gradient(145deg,rgba(18,96,164,.92),rgba(0,120,212,.88));
    color: #fff;
    box-shadow: 0 5px 16px rgba(16,62,105,.32);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
    transition: transform .18s, filter .18s, background .18s;
}
#btnAzureDynamic:hover { transform: translateY(-2px); filter: brightness(1.08); }
#btnAzureDynamic:active { transform: scale(.94); }
#btnAzureDynamic[aria-pressed="true"] {
    background: linear-gradient(145deg,rgba(0,133,92,.96),rgba(0,171,105,.9));
    box-shadow: 0 0 0 3px rgba(45,206,142,.24),0 5px 16px rgba(0,91,62,.32);
}
#btnAzureDynamic.loading .azure-dynamic-icon { animation: azureDynamicPulse .9s ease-in-out infinite; }
#btnAzureDynamic.error { background: linear-gradient(145deg,#a3323b,#cf4050); }
.azure-dynamic-icon { font-size: 11px; font-weight: 900; letter-spacing: -.5px; }
.azure-dynamic-badge {
    position: absolute;
    right: -8px;
    top: -6px;
    padding: 2px 4px;
    border: 2px solid #fff;
    border-radius: 8px;
    background: #f59e0b;
    color: #342000;
    font-size: 6px;
    font-weight: 900;
}
#btnAzureDynamic .button-legend { left: auto; right: 54px; }
.azure-dynamic-status {
    position: fixed;
    right: 78px;
    bottom: 137px;
    z-index: 10010;
    width: min(290px,calc(100vw - 105px));
    box-sizing: border-box;
    padding: 9px 11px;
    border: 1px solid rgba(26,86,139,.16);
    border-radius: 12px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 7px 22px rgba(18,50,79,.24);
    color: #244a69;
    font-size: 10px;
    font-weight: 700;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.azure-dynamic-status[hidden] { display: none; }
.azure-dynamic-status.error { color: #8c2932; }
@keyframes azureDynamicPulse { 50% { opacity: .48; transform: scale(.82); } }
@media (max-width:768px) {
    #btnAzureDynamic { right: 17px; bottom: calc(193px + env(safe-area-inset-bottom)); }
    .azure-dynamic-status { right: 68px; bottom: calc(193px + env(safe-area-inset-bottom)); }
}
body.auth-locked #btnAzureDynamic, body.auth-locked #azureDynamicStatus { display: none; }

